mysql数据库恢复

数据库恢复注意事项

# 数据恢复和字符集关联很大,如果字符集不正确会导致恢复的数据乱码。

#MySQL命令和source命令恢复数据库的原理就是把文件的SQL语句,在数据库重新执行的过程。

1、利用source命令恢复数据库

进入MySQL数据库控制台

mysql -u root -p密码登陆后,mysql>use 数据库,然后使用source命令,后面参数为脚本文件。
mysql>source dadong_db.sql    ###这个文件可以是全路径的压缩包,也可以是相对路径(必须先进入到压缩包所在的文件夹中,默认是登陆mysql前的系统路径)。

2、针对压缩的备份数据进行恢复

2.1、使用gzip解压(删除压缩文件)

先备份数据库,做测试数据
[root@DB02 opt]# mysqldump -B --master-data=2 dadong|gzip >/opt/dadong.sql.gz
[root@DB02 opt]# ls
dadong.sql.gz
####解压压缩包
[root@DB02 opt]# gzip -d /opt/dadong.sql.gz    
[root@DB02 opt]# ls
dadong.sql
 ###恢复数据库
 [root@DB02 ~]# mysql </opt/dadong.sql   

注意:gzip参数:

-c 将输出写到标准输出上,并保留原有文档。

-d 将压缩文档解压。

如果在导出数据库时指定了-B参数,恢复时无需指定库恢复。因为-B参数带了use dadong 还会有create database dadong;而恢复时指定库就类似于use dadong.

2.2、使用gzip解压(不会删除压缩文件)

使用gzip加参数cd不会删除原文件。

[root@DB02 ~]# !mysqldump    ##调用最近的mysqldump命令,重复执行备份。
mysqldump -B --master-data=2 dadong|gzip >/opt/t.sql.gz
 [root@DB02 ~]# gzip -cd /opt/dadong.sql.gz >/opt/dadong1.sql
 [root@DB02 ~]# mysql </opt/dadong1.sql
 [root@DB02 ~]#

注:如果不想退出数据库执行恢复语句时可以使用system
mysql> system cd /root
mysql> exit
Bye
[root@DB02 ~]# pwd
/root
[root@DB02 ~]#

mysql> system mysqldump -B --master-data=2 --single-transaction -B dadong |gzip >  /opt/all.sql.gz
mysql> exit
Bye
[root@DB02 ~]# cd /opt/
[root@DB02 opt]# ls
10.txt  2.txt  4.txt  6.txt  8.txt  all.sql.gz  dadong.sql
1.txt   3.txt  5.txt  7.txt  9.txt  dadong
[root@DB02 opt]#

2.3、 使用zcat读取压缩包数据

使用zcat读取压缩包数据。

[root@DB02 ~]# zcat /opt/dadong.sql.gz >/opt/dadong3.sql
 [root@DB02 ~]# mysql </opt/dadong3.sql
原文地址:https://www.cnblogs.com/dadonggg/p/8618124.html