一、数据库管理系统
数据库是指按照某些特定结构来存储数据资料的数据仓库
数据库管理系统是一种能够对数据库中存放的数据进行建立、修改、删除、查找、维护等操作的软件程序。它通过把计算机中具体的物理数据转换成适合用户理解的抽象逻辑数据,有效地降低数据库管理的技术门槛
提示:
- MySQL 项目创始者重新研发了一款名为 MariaDB 的全新数据库管理系统。该软件当前由开源社区进行维护,是MySQL 的分支产品,而且几乎完全兼容 MySQL
二、初始化 MariaDB 服务
- 安装MariaDB 服务
yum install mariadb mariadb-server -y
- 启动MariaDB 服务
systemctl start mariadb
- 添加MariaDB 服务到开机启动项中
systemctl enable mariadb
- 初始化
mysql_secure_installation
➢ 设置 root 管理员在数据库中的密码值(注意,该密码并非 root 管理员在系统中的密码,这里的密码值默认应该为空,可直接按回车键)
直接回车
➢ 设置 root 管理员在数据库中的专有密码
y
➢ 随后删除匿名账户,并使用 root 管理员从远程登录数据库,以确保数据库上运行的业务的安全性
y
n
提示:
- 在很多生产环境中都需要使用站库分离的技术(即网站和数据库不在同一个服务器上),如果需要让 root 管理员远程访问数据库,可在上面的初始化操作中设置策略,以允许 root 管理员从远程访问
- 还需要设置防火墙,使其放行对数据库服务程序的访问请求,数据库服务程序默认会占用 3306 端口,在防火墙策略中服务名称统一叫作mysql
➢ 删除默认的测试数据库,取消测试数据库的一系列访问权限
y
➢ 刷新授权列表,让初始化的设定立即生效
y
- 设置防火墙
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
- 登录数据库
mysql -u root -p
提示:
- -u 用来指定以 root 管理员的身份登录
- -p 用来验证该用户在数据库中的密码值
- 管理数据库
查看数据库管理系统中当前都有哪些数据库
show databases;
有3个数据库
修改root 管理员在数据库管理系统中的密码值
set password = PASSWORD('123456');
exit;
提示:
- 登录 MariaDB 数据库后执行数据库命令时,都需要在命令后面用分号(;)结尾
三、管理账户以及授权
创建数据库管理账户
create user [用户名]@[主机名] identified by [passwd];
如:
- root用户
create user ricsy@localhost identified by '123456';
use mysql
select host,user,password from user where user='ricsy';
grant常见格式 | 解释 |
---|---|
grant 权限 on 数据库.表单名称 to 账户名@主机名 |
对某个特定数据库中的特定表单给予授权 |
grant 权限 on 数据库.*to 账户名@主机名 |
对某个特定数据库中的所有表单给予授权 |
grant 权限 on*.*to 账户名@主机名 |
对所有数据库及所有表单给予权 |
grant权限1,权限 2 on 数据库.*to 账户名@主机名 |
对某个数据库中的所有表单给予多个授权 |
grant all privileges on *.*to 账户名@主机 |
对所有数据库及所有表单给予全部授权(需谨慎操作) |
针对 mysql 数据库中的 user 表单为ricsy授予查询、更新、删除以及插入等权限
grant select,update,delete,insert on mysql.user to ricsy@localhost;
提示:
- 除了移除授权的命令(revoke)与授权命令(grant)不同、to换为from之外,其余部分都是一致的
revoke select,update,delete,insert on mysql.user from ricsy@localhost;
退出数据库
exit;
- ricsy用户
mysql -u ricsy -p
show databases;
use mysql
show tables
四、创建数据库与表单
命令 | 作用 |
---|---|
create database 数据库名称 |
创建新的数据库 |
describe表单名称 |
描述表单 |
update 表单名称 set attribute=新值 where attribute>原始值 |
更新表单中的数据 |
use 数据库名称 |
指定使用的数据库 |
show databases |
显示当前已有的数据库 |
show tables |
显示当前数据库中的表单 |
select * from 表单名称 |
从表单中选中某个记录值 |
delete from 表单名 where attribute=值 |
从表单中删除某个记录值 |
- root用户
mysql -u root -p
- 建立数据库
create database test;
show databases;
use test
create table mybook (name char(15),price int,pages int);
describe mybook;
五、管理表单及数据
- 增
insert into mybook(name,price,pages) values('linuxprobe', '60', '518');
select * from mybook;
- 删
delete from mybook;
- 改
update mybook set price=55;
select * from mybook;
- 查
select与from结合
参数 | 作用 |
---|---|
= |
相等 |
<> 或!=
|
不相等 |
> |
大于 |
< |
小于 |
>= |
大于或等于 |
<= |
小于或等于 |
between |
在某个范围内 |
like |
搜索一个例子 |
in |
在列中搜索多个值 |
六、数据库的备份及恢复
数据库备份
mysqldump [option] [数据库名称]
如:
备份数据库
mysqldump -u root -p test > /root/testDB.dump
进入数据库管理系统,删除test数据库
drop database test
导入数据库文件
mysql -u root -p test < /root/testDB.dump
更新中......