数据库的发展前引
MySQL的起源与发展过程
最为著名、应用最广泛的开源数据库软件
最早隶属于瑞典的MySQL AB公司
2008年1月,MySQL AB被Sun收购
2009年4月,SUN被Oracle收购
崭新的开源分支MariaDB
为应付MySQL可能会闭源的风险而诞生
由MySQL原作者Widenius主导开发
与MySQL保持最大程度兼容
MySQL的特点及应用
主要特点
适用于中小规模、关系型数据库系统
支持Linux/Unix、Windows等多种操作系统
使用C和C++编写,可移植性强
通过API支持Python/Java/Perl/PHP等语言
典型应用环境
LAMP平台,与Apache HTTP Server组合
LNMP平台,与Nginx组合
常见的信息种类
数值型:体重、身高、成绩、工资
字符型:姓名、工作单位、通信住址
枚举型:兴趣爱好、性别
日期时间型:出生日期、注册时间
使用mysql>管理环境
操作指令类型
MySQL指令:环境切换、看状态、退出等控制
SQL指令:数据库定义/查询/操纵/授权语句
基本注意事项
操作指令不区分大小写(密码、变量值除外)
每条SQL指令以;结束或分隔
不支持Tab键自动补齐
\c可废弃当前编写错的操作指令
配置一个数据库《前引》
在system1上创建一个MariaDB数据库,名为Contacts,并符合以下条件:
¨数据库应该包含来自数据库复制的内容,复制文件的URL为:
http://server1.groupX.example.com/materials/users.sql
¨数据库只能被localhost访问
¨除了root用户,此数据库只能被用户Raikon查询,此用户密码为atenorth
¨root用户的密码为atenorth,同时不允许空密码登陆。
解题参考:
1)安装、配置
[root@serverX~]#yum -y install mariadb-server mariadb
[root@serverX~]#vim/etc/my.cnf
[mysqld]
skip-networking//添加此行,跳过网络
[root@serverX~]#systemctl restart mariadb
[root@serverX~]#systemctl enable mariadb
2)设密码、建库
[root@serverX~]#mysqladmin -u root -p password'atenorth'//设置密码
[root@serverX~]#mysql-u root -p
MariaDB[(none)]>CREATE DATABASE Contacts;
MariaDB[(none)]>GRANT select ON Contacts.* to Raikon@localhost IDENTIFIED BY 'atenorth';
MariaDB[(none)]>DELETE FROM mysql.user WHERE Password='';
//删除空密码账号//!!注意:设好root密码再做
MariaDB[(none)]>QUIT
3)导入库
[root@serverX~]#wget http://classroom/pub/materials/users.sql
[root@serverX~]#mysql -u root -p Contacts < users.sql
http://bj.linux.tedu.cn/达内 Linux云计算学院
数据库查询(填空)
试题概述:
在系统system1上使用数据库Contacts,并使用相应的SQL查询以回答下列问题:
¨密码是solicitous的人的名字?
¨有多少人的姓名是Barbara同时居住在Sunnyvale?
解题参考:
[root@serverX~]#mysql -u root -p
Enter password:
MariaDB[Contacts]>USE Contacts;
MariaDB[Contacts]>SELECT name FROM base WHERE password='solicitous';
MariaDB[Contacts]>SELECT count(*)FROM base,location WHERE base.name='Barbara'location.city='Sunnyvale'AND base.id=location.id;
MariaDB[Contacts]>QUIT