3.备份数据库school到/backup目录
[root@localhost ~]# mydumper -h localhost -u root -p 密码 -B school -o /backup
4.备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
[root@localhost ~]# mysqldump --add-drop-table -u root -p school > /backup/school.sql
5.直接将MySQL数据库压缩备份
[root@localhost ~]# mysqldump -uroot -p school | gzip > /backup/school.sql.gz
6.备份MySQL数据库某个(些)表。此例备份student表
[root@localhost ~]# mydumper -u root -p 密码 -T school.student -o /test/
7.同时备份多个MySQL数据库(其他数据库素材自行准备)
[root@localhost ~]# mysqldump -u root -p -databases school test > /test/multibackfile.sql
8.仅仅备份数据库结构
[root@localhost ~]# mysqldump -u root -p -d school > /test/structfile.sql
9.备份服务器上所有数据库
[root@localhost ~]# mysqldump -u root -p -A > /test/alldatabases.sql
10.还原MySQL数据库
[root@localhost ~]# mysql -u root -p 密码 -e 'drop database school'
[root@localhost ~]# myloader -u root -p 密码 -d /backup -o -B school
11.还原压缩的MySQL数据库
[root@localhost ~]# zcat /test/school.sql.gz | mysql -u root -p'密码' -e 'use school'
12.使用xtrabackup 备份数据库
①进行完全备份
[root@localhost1 ~]# innobackupex -uroot -p密码 --no-timestamp --socket=/var/lib/mysql/mysql.sock /test2/full_$(date +%F)
②再进行准备备份(合并数据,使数据文件处于一致性的状态,也叫做在完全备份中恢复数据)
[root@localhost1 ~]# innobackupex -uroot -p密码 -P3306 --apply-log /test2/full_2023-07-24/
13.在另外的数据库服务器上还原xtrabackup 备份
①停止数据库,上传到另一台数据库服务器中,并且删除默认路径下的数据(模拟数据丢失)
[root@localhost1 ~]# systemctl stop mysqld
[root@localhost1 ~]# scp -r /test2/full_2023-07-24/ root@192.168.19.134:/test2/
-r:传递的是目录
[root@localhost2 ~]# systemctl stop mysqld
[root@localhost2 ~]# rm -rf /var/lib/mysql
②还原数据库到默认目录
[root@localhost2 ~]# innobackupex --copy-back /test2/full_2023-07-24/
③修改权限
[root@localhost2 ~]# chown -R mysql.mysql /var/lib/mysql
④启动数据库,并且查看是否恢复
[root@localhost2 ~]# systemctl start mysqld
[root@localhost2 ~]# mysql -uroot -p密码 -e 'select * from db1.emp'
mysql: [Warning] Using a password on the command line interface can be insecure.
+----------+---------+--------+---------+---------+
| id | name | gender | salary | address |
+----------+---------+--------+---------+---------+
| 21011601 | yangxin | 男 | 2500.00 | 成都 |
说明数据库恢复成功14.使用mydumper备份数据库
[root@localhost ~]# mydumper -u root -p 密码 -B Team -o /test1
15.使用mydumper恢复数据库
[root@localhost ~]# mysql -u root -p -e 'drop database Team'
[root@localhost ~]# myloader -u root -p 密码 -d /test1 -o -B Team
注意:
Xtrabackup中主要包含两个工具:
xtrabackup:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构;
innobackupex:是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。
使用innobackupex备份还原数据库
安装软件: yum install -y percona-xtrabackup-24-2.4.8-1.el7.x86_64.rpm