数据的重要性不言而喻,做好数据备份方能在数据损坏丢失时及时恢复
- 冷备份
- 热备份
- 完全备份
- 增量备份
冷备份即暂停Mariadb服务,用户不能读写访问数据库,直接拷贝整个数据文件
实验拓扑
实验准备
- 两台CentOS 7.4 server
- mariadb软件版本 mariadb-server-5.5.56-2.el7.x86_64
- sql数据库脚本,一个用于生成测试数据库hellodb,一个是存储过程,批量增加10W条数据记录
https://github.com/zhongchengling/linuxshell
实验步骤
172.16.8.71–DB1
yum install -y mariadb-server
修改/etc/my.cnf文件拆分innodb引擎的数据库文件
innodb_file_per_table = ON
systemctl start mariadb.service
git clone [email protected]:zhongchengling/linuxshell.git
cd linuxshell
mysql < hellodb_innodb.sql
mysql --database=hellodb < testlog.sql
- 安装MariaDB软件,修改/etc/my.cnf配置文件,并启动服务
- 从同性交友网站GitHub上克隆sql脚本,导入数据库hellodb和存储引擎
- 调用call pro_testlog();导入十万条记录
MariaDB [hellodb]> show databases;
MariaDB [hellodb]> show tables;
MariaDB [hellodb]> call pro_testlog();
MariaDB [hellodb]> select count(*) from testlog;
systemctl stop mariadb.service
暂停数据服务,打包备份/var/lib/mysql下的所有数据文件到172.16.8.7
cd /var/lib/
tar -Jcvf data.tar.xz mysql
scp /etc/my.cnf [email protected]:/etc
scp data.tar.xz [email protected]:/root
数据备份完成,在172.16.8.71机器上进行数据的验证恢复
172.16.8.71–DB1
- 同样地yum安装Mariadb,确保版本相同,以避免潜在问题
- 解压数据文件到/var/lib/mysql
tar -xvf data.tar.xz -C /var/lib/mysql
- 启动mairadb服务,验证数据