备份数据库到/backup目录
mkdir backup
[root@locahost ~]# mysqldump -uroot -pRedHat@123 -B db1 > backup/db1_db.sql
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
[root@localhost backup]# mysqldump --add-drop-table -uroot
-pRedHat@123 db1 > /root/backup/school_table.sql
直接将MySQL数据库压缩备份
[root@localhost backup]# mysqldump -uroot -pRedHat@123 db1 | gzip >
/root/backup/school_zip.sql.gz
备份MySQL数据库某个(些)表。此例备份student表
[root@localhost backup]# mysqldump -uroot -pRedHat@123 db1
student > table/student_table.sql
同时备份多个MySQL数据库
[root@localhost backup]# mysqldump -uroot -pRedHat@123 -B db1 kun db2>
/root/backup/database_two.sql
仅仅备份数据库结构
[root@localhost ~]# mydumper -u root -p RedHat@123 -B db1 -o backup/db1/
备份服务器上所有数据库
[root@localhost ~]# mysqldump -uroot -pRedHat@123 -A > backup/db/all_db.sql
10.还原MySQL数据库
[root@localhost school]# mysql -uroot -pRedHat@123 -e "drop database db1;"
[root@localhost backup]# scp 192.168.227.133:backup/db1_db.sql /opt/
mysql> source /opt/db1_db.sql;
还原压缩的mySQL数据库
[root@localhost backup]# gunzip < db1_zip.sql | mysql
-uroot -pRedHat@123 db1
使用xtrabackup 备份数据库
[root@localhost ~]# innobackupex --defaults-file=
/etc/my.cnf --user=root --password='RedHat@123' /backup
在另外的数据库服务器上还原xtrabackup 备份
root@localhost ~]# scp -r /backup/2023-07-17_00-52-50/
root@192.168.227.133:/backups/
[root@localhost ~]# innobackupex --apply-log /backups/2023-07-17_00-52-50/
systemctl stop mysqld
另一台服务器
[root@localhost ~]# rm -rf /usr/local/mysql/data
[root@localhost ~]# innobackupex --copy-back /backups/2023-07-17_00-52-50/
[root@localhost ~]# ll /usr/local/mysql/data/
#修改属主属组为mysql
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql/data/
#启动服务
[root@localhost ~]# systemctl start mysqld
#查看数据是否恢复
[root@localhost ~]# mysql -uroot -p -e"show databases;"
使用mydumper备份数据
[root@localhost backup]# mydumper -u root -p RedHat@123 -B db1 -o
/root/backup/mydumper
使用mydumper恢复数据库
[root@localhost mydumper]# mysql -uroot -pRedHat@123 -e 'drop database db1'