MySQL的备份与还原

 1.备份数据库school到/backup目录

[root@:masterI backup]# mysqldump -u root -pRoot=12345. school > /backup/school.sql
[root@:masterI backup]# ll
-rw-r--r--. 1 root root 3495 Jul 20 17:43 school.sql

2.备份MySQL数据库为待删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库

[root@:masterI backup]# mysqldump -u root -pRoot=12345. --add-drop-database  school > /backup/school_1.sql
[root@:masterI backup]# ll
-rw-r--r--. 1 root root 3495 Jul 20 17:53 school_1.sql

3.直接将MySQL数据库压缩备份

[root@:masterI backup]# mysqldump -u root -pRoot=12345.  school | gzip > /backup/db_school.sql.gz
[root@:masterI backup]# ll
-rw-r--r--. 1 root root 1180 Jul 20 17:56 db_school.sql.gz

4.备份MySQL数据库某个(些)表。此例备份student表

[root@:masterI backup]# mysqldump -u root -pRoot=12345.  school student > /backup/table_sch_student.sql
[root@:masterI backup]# ll
-rw-r--r--. 1 root root 2518 Jul 20 17:57 table_sch_student.sql

5.同时备份多个MySQL数据库(其他数据库素材另外准备)

[root@:masterI backup]# mysqldump -u root -pRoot=12345.  -B school test1 > /backup/db_school_test1.sql
[root@:masterI backup]# ll
-rw-r--r--. 1 root root 7399 Jul 20 18:03 db_school_test1.sql

6.仅仅备份数据库结构

[root@:masterI backup]# mysqldump -u root -pRoot=12345. -d school > /backup/structure_test1.sql
[root@:masterI backup]# ll
-rw-r--r--. 1 root root 2500 Jul 20 18:08 structure_test1.sql

7.备份服务器上所有数据库

[root@:masterI backup]# mysqldump -u root -pRoot=12345. -A > /backup/allDatabases.sql
[root@:masterI backup]# ll
-rw-r--r--. 1 root root 925234 Jul 20 18:10 allDatabases.sql

8.还原MySQL数据库

mysql> drop database school;
Query OK, 2 rows affected (0.01 sec)

mysql> create database school;
Query OK, 1 row affected (0.00 sec)
mysql> use school
Database changed
mysql> show tables;
Empty set (0.00 sec)

[root@:masterI backup]#  mysql -uroot -pRoot=12345. school  < /backup/school.sql

mysql> show tables from school;
+------------------+
| Tables_in_school |
+------------------+
| score            |
| student          |
+------------------+
2 rows in set (0.00 sec)

9.还原压缩的MySQL数据库

mysql> create database school;
Query OK, 1 row affected (0.00 sec)
mysql> use school
Database changed
mysql> show tables;
Empty set (0.00 sec)

[root@:masterI backup]# zcat db_school.sql.gz | mysql -uroot -pRoot=12345. school 

mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| score            |
| student          |
+------------------+
2 rows in set (0.00 sec)

10.使用xtrabackup 备份数据库

[root@:masterI backup]# innobackupex --user=root --password=Root=12345. --no-timestamp /backup/full_`date +%F `

[root@:masterI full_2023-07-22]# ll /backup/full_2023-07-22/
total 12336
-rw-r-----. 1 root root      487 Jul 22 13:06 backup-my.cnf
drwxr-x---. 2 root root      247 Jul 22 13:06 booksDB
drwxr-x---. 2 root root      220 Jul 22 13:06 day4
drwxr-x---. 2 root root      154 Jul 22 13:06 day5
drwxr-x---. 2 root root       20 Jul 22 13:06 day6
drwxr-x---. 2 root root      128 Jul 22 13:06 haxi
-rw-r-----. 1 root root      722 Jul 22 13:06 ib_buffer_pool
-rw-r-----. 1 root root 12582912 Jul 22 13:06 ibdata1
drwxr-x---. 2 root root       56 Jul 22 13:06 Market
drwxr-x---. 2 root root     4096 Jul 22 13:06 mysql
drwxr-x---. 2 root root     8192 Jul 22 13:06 performance_schema
drwxr-x---. 2 root root       92 Jul 22 13:06 school
drwxr-x---. 2 root root     8192 Jul 22 13:06 sys
drwxr-x---. 2 root root       56 Jul 22 13:06 Team
drwxr-x---. 2 root root       20 Jul 22 13:06 test
drwxr-x---. 2 root root      233 Jul 22 13:06 test1
-rw-r-----. 1 root root      135 Jul 22 13:06 xtrabackup_checkpoints
-rw-r-----. 1 root root      449 Jul 22 13:06 xtrabackup_info
-rw-r-----. 1 root root     2560 Jul 22 13:06 xtrabackup_logfile

11.在另外的数据库服务器上还原xtrabackup 备份

[root@:masterI backup]# scp full_2023-07-22.tar 192.168.127.161:/backup/

[root@dbNode1 backup]# mkdir full_2023-07-22
[root@dbNode1 backup]# tar xvf full_2023-07-22.tar -C /backup/

[root@dbNode1 mysql]# innobackupex --apply-back /backup/full_2023-07-22/
[root@dbNode1 mysql]# systemctl stop mysqld
[root@dbNode1 mysql]# innobackupex --copy-back /backup/full_2023-07-22/
  ...done
230722 01:23:55 completed OK!

[root@dbNode1 mysql]# chown -R mysql:mysql /var/lib/mysql/
[root@dbNode1 mysql]# systemctl start mysqld

12.使用mydumper备份数据库

[root@:masterI ~]# mydumper -u root -p 'Root=12345.' -B school -o /backup/pop/
[root@:masterI ~]# ll /backup/pop/
total 24
-rw-r--r--. 1 root root 140 Jul 20 17:31 metadata
-rw-r--r--. 1 root root 120 Jul 20 17:31 school-schema-create.sql
-rw-r--r--. 1 root root   0 Jul 20 17:31 school-schema-triggers.sql
-rw-r--r--. 1 root root 352 Jul 20 17:31 school.score.00000.sql
-rw-r--r--. 1 root root 423 Jul 20 17:31 school.score-schema.sql
-rw-r--r--. 1 root root 503 Jul 20 17:31 school.student.00000.sql
-rw-r--r--. 1 root root 550 Jul 20 17:31 school.student-schema.sql

13.使用mydumper恢复数据库

mysql> drop database school;
Query OK, 2 rows affected (0.01 sec)

[root@:masterI backup]# myloader -u root -p Root=12345. -d /backup/pop/ -o -B school

mysql> show tables from school;
+------------------+
| Tables_in_school |
+------------------+
| score            |
| student          |
+------------------+
2 rows in set (0.00 sec)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.98℃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值