MySQL完全备份与恢复

完全备份的实列

需要先停止数据库服务,再直接打包压缩数据库文件
数据库所有文件目录:/usr/local/mysql/data
在这里插入图片描述
故障时,停止服务,将故障的数据库文件移走到备份文件夹中,解压刚才备份数据库包到/restore目录下,再移动到usr/local/mysql/data下,再重启服务
在这里插入图片描述
误删库
加粗样式
在这里插入图片描述
在这里插入图片描述
恢复成功

mysqldump备份与恢复

使用mysqldump命令对某些表进行完全备份

mysqldump -u root -p --all-databses > all-data-$(date +%F).sql
 ###备份所有数据库到当前目录下的all-data-$(date +%F).sql 文件
mysqldump -u root -p -databases auth mysql > auth-mysql.sql ###备份auth和mysql库
mysqldump -u root -p auth > auth-$(date +%F).sql ###备份auth数据库
mysqldump -u root -p mysql user > mysql-user-$(date +%F).sql ###备份mysql的user表
mysqldump -u root -p -d mysql user > /tmp/desc-mysql-user.sql ###备份mysql库user表的结构

实例1:
备份单独一个student库

[root@server1 ~]# mysqldump -u root -p student > student-$(date +%F).sql
Enter password:

恢复:
误删除单独一个库,恢复时,需要再建一下这个库

mysql> drop database student;
Query OK, 3 rows affected (0.02 sec)

mysql> create database test;#命名可根据需要
Query OK, 1 row affected (0.00 sec)
mysql> exit
Bye
方法一:在数据库外导入
[root@server1 ~]# mysql -u root -p test < student-2020-11-02.sql #将刚刚备份的导入test
Enter password: 
方法二:在数据库内用source
#这里必须要use 数据库,否则无法有对应的数据库可以导入
mysql> use test;
mysql> source /student-2020-11-02.sql;
查看恢复结果
mysql> show tables;
+-------------------+
| Tables_in_student |
+-------------------+
| info              |
| test              |
| zf                |
+-------------------+
3 rows in set (0.00 sec)
mysql> select * from info;
+----+--------+---------+
| id | name   | address |
+----+--------+---------+
|  1 | lisi   | 苏州    |
|  2 | liqi   | 杭州    |
|  3 | wangwu | 北京    |

实例2:
备份多个数据库

[root@server1 ~]# mysqldump -uroot -pxzf729 --databases mysql student > mysql-student-bak.sql
#备份数据库mysql和student到当前目录下的mysql-student.sql,可查看到,也可加绝对路径保存
[root@server1 ~]# ll
总用量 48784
-rw-------.  1 root root      1878 8月  11 04:02 anaconda-ks.cfg
-rw-r--r--.  1 root root      1926 8月  11 04:49 initial-setup-ks.cfg
drwxr-xr-x. 38 7161 31415     4096 10月 22 11:11 mysql-5.7.20
-rw-r--r--.  1 root root  48833145 10月 22 10:31 mysql-boost-5.7.20.tar.gz   ####
-rw-r--r--.  1 root root   1101429 11月  2 12:14 mysql-student-bak.sql
......

误删除俩个库:

mysql> drop database mysql;
Query OK, 32 rows affected, 2 warnings (0.04 sec)
mysql> drop database student;
Query OK, 3 rows affected, 2 warnings (0.00 sec)

恢复:无需再创建数据库,可直接恢复

mysql> source /root/mysql-student-bak.sql
查看恢复结果
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| student            |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
mysql> select * from student.info;
+----+--------+---------+
| id | name   | address |
+----+--------+---------+
|  1 | lisi   | 苏州    |
|  2 | liqi   | 杭州    |
|  3 | wangwu | 北京    |
+----+--------+---------+
3 rows in set (0.00 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值