数据库服务基础
1.1、构建数据库系统
-
什么是数据库
数据库:用来存放数据的仓库
数据库中有众多的库,再每一个库中会有众多的表格
常见的数据库软件 微软件的SQL Server
IBM DB2
甲骨文的Oracle,
MySql 社区开源版的MariaDB
(迈瑞啊、他的女儿的名字就叫)
-
部署mariadb数据库服务器
RHEL7 中的MariaDB相关包
mariadb-server:提供服务端有关的
安装mariadb-server
[root@tedu ~]# yum -y install mariadb-server #安装mariadb数据库 [root@tedu ~]# systemctl restart mariadb #重启数据库 (第一次启动非常慢,会初始化很多空间) [root@tedu ~]# mysql #启动数据 MariaDB [(none)]> show databases; #查看数据库 MariaDB [(none)]> create database jw; #创建库 MariaDB [(none)]> show databases; #查看数据库 MariaDB [(none)]> drop database jw; #删库 MariaDB [(none)]> create database jw; MariaDB [(none)]>exit #退出数据库
-
基本的管理操作
[root@tedu ~]# mysql #启动数据 MariaDB [(none)]> show databases; #查看数据库 MariaDB [(none)]> use mysql; #使用库 MariaDB [mysql]> show tables; #显示库中的表 MariaDB [mysql]> use jw #切换库 MariaDB [(none)]>exit 退出
-
mariadb服务端配置调整
Linux命令行设置数据库设置密码
数据库管理员root,针对数据库有最高权限,mysql库中user表中
Linux管理员root,针对系统有最高权限,/etc/passwd
[root@tedu ~]# mysqladmin -u root password '123' #修改密码 [root@tedu ~]# mysql -u root -p #登陆 [root@tedu ~]# mysql -u root -p123456 #直接登陆,不要交互 #当密码存在需要修改密码 [root@tedu ~]# mysqladmin -u root -p123456 password '123456' #修改密码 [root@tedu ~]#yum remove mariadb-server #彻底删除数据库 修改数据库配置文件 [root@tedu ~]# vim /etc/my.cnf
-
数据库的增删改查
#使用库 MariaDB [(none)]> use jw #创建表 MariaDB [jw]> create table student( stuid int, stuname varchar(30), gender enum('0','1'), class int); #查看所有表 MariaDB [jw]> show tables; #查看表结构 MariaDB [jw]>desc tables; #插入数据 MariaDB [jw]> insert into student values(1,'xiaoa','1',1),(2,'xiaob','0',5), (3,'xiaoc','0',3),(4,'xiaoa','1',2); #查询数据 MariaDB [jw]> select * from student; +-------+---------+--------+-------+ | stuid | stuname | gender | class | +-------+---------+--------+-------+ | 1 | xiaoa | 1 | 1 | | 2 | xiaob | 0 | 5 | | 3 | xiaoc | 0 | 3 | | 4 | xiaoa | 1 | 2 | +-------+---------+--------+-------+ 4 rows in set (0.00 sec) MariaDB [jw]>update student set gender='0' where stuid=4; MariaDB [jw]>select * from student; 删除数据 MariaDB [jw]> delete from student where stuid=4;
-
用户授权设置
用户表
user表:存放用户的表
MariaDB [jw]> use mysql MariaDB [mysql]> select * from user; MariaDB [mysql]> desc user; MariaDB [mysql]> select user,host,password from user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 | | root | tedu.com | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | tedu.com | | +------+-----------+-------------------------------------------+ 6 rows in set (0.00 sec)
-
数据库的授权
(数据库的管理员root一个人管理不过来,肯定需要几个人来帮着管理,比如我让lisi来帮我管理,但 现在user这个表里面什么用户都没有)
除了root用户,此jw数据库只能被用户lisi访问,此用户的密码是123
命令格式
GRANT 授权用户NO 数据库名.表名 TO 用户名@客户机地址 IDENTIFIED BY ‘密码’;
MariaDB [mysql]> grant select on jw.* to lisi@localhost identified by '123' ; MariaDB [mysql]> select user,host,password from user; MariaDB [(none)]> flush privileges;