文章目录
- 一 联系和区别
- 二 需求
- 三 部署安装
- 3.1 环境准备
- 3.2 安装软件包
- 3.3 启动服务
- 3.4 设置防火墙策略
- 四 创建用户和库表
- 4.1 登录数据库
- 4.2 创建用户
- 4.3 创建数据库和表
- 五 备份和恢复
- 5.1 备份 com 数据库
- 5.2 模拟误删除操作
- 5.3 恢复表
一 联系和区别
Mariadb是由社区开发的一个MySQL分支,由MySQL的部分原作者构建。它提供了一系列包括备用存储引擎、服务器优化和补丁等的增强功能,是在MySQL对应版本发布后的性能优化。
Mariadb | MySQL |
---|---|
纯开源 | 双重许可授权 |
不提供密码复杂度插件功能 | 提供密码复杂度插件功能 |
没有memcached接口 | 有memcached接口 |
支持更多的存储引擎 | 支持的存储引擎相对较少 |
主要由社区开发 | 主要由甲骨文开发 |
默认的二进制日志格式是混合式 | 默认二进制日志格式是基于行 |
二 需求
1)安装部署Mariadb数据库。
2)根据下列要求创建用户。
用户 | 密码 | 特权 |
---|---|---|
dick | dick123 | 对传统数据库所有表进行选择(查询)操作,且只能本地登录 |
james | james123 | 对传统数据库所有表进行选择(查询)操作,只能通过10.0.0.10登录 |
legacy | legacy123 | 对传统数据库所有表进行查询、插入、更新和删除操作,可从任意网段登录 |
3)向 com 数据库的 sale 表中插入下列数据。
名称 | 销售人员 | 电话号码 |
---|---|---|
HP | Joe | 111111 |
Dell | Luke | 222222 |
Lenovo | Dave | 333333 |
4)插入数据后对 com 数据库进行备份,且误删除该库,需要还原该库下的 sale 表。
三 部署安装
3.1 环境准备
[root@mariadb ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
[root@mariadb ~]# uname -r
3.10.0-957.el7.x86_64
本机使用rhel7的操作系统。
3.2 安装软件包
此处我们使用了groupinstall
,而不是install
。
yum groupinstall -y mariadb mariadb-client
yum install
它安装单个软件,以及这个软件的依赖关系。
yum groupinstall
它安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系。
在安装 mariadb 时,我们安装了这个组下面的软件包。
在安装 mariadb-client 时,我们安装了这个组下面的软件包。
安装完成后,显示结果如下:
3.3 启动服务
systemctl start mariadb.service
systemctl enable mariadb.service
systemctl status mariadb.service
启动服务,开机自动启动服务,查看服务运行状态。
3.4 设置防火墙策略
设置防火墙接受远程连接。(如果防火墙本身是关闭的,则不需要设置)
[root@mariadb ~]# firewall-cmd --permanent --add-service=mysql
success
[root@mariadb ~]# firewall-cmd --reload
success
四 创建用户和库表
4.1 登录数据库
4.2 创建用户
创建用户dick并授权。
创建用户james并授权。
创建用户legacy并授权。
最后刷新特权,并检查。
4.3 创建数据库和表
首先查看有哪些数据库
接着创建数据库 com
然后使用这个数据库
首先创建这个表,并检查属性的设置。
接着向表中插入数据,并检查结果。
五 备份和恢复
5.1 备份 com 数据库
此处使用 mysqldump
进行逻辑备份。
mysqldump -u root com > /tmp/com.dump
将备份结果放至/tmp
目录下,形成com.dump
文件。
5.2 模拟误删除操作
进入数据库,删除 com 数据库,并检查操作结果。
5.3 恢复表
利用逻辑备份的文件,恢复 com 数据库下的 sale 表。
虽然原本的 sale 表是在 com 数据库下的,但恢复时我们可以创建一个名称不同的新的数据库,例如数据库 abc ,在这个库下恢复 sale 表的内容。因此虽然我们在 mysqldump
时备份的对象是数据库 com ,但实际上备份的只有 sale 表。
创建好数据库后,就可以使用 mysql
命令恢复表。
经过检查确认,数据库 abc 下面的 sale 表数据成功恢复。