mysqldump实现所有数据备份与恢复

备份

使用mysqldump命令,使用时mysqldump最好使用全路径名,可以使用find / -name mysqldump命令来查看路径。

备份命令如下:
/usr/local/mysql/bin/mysqldump -u用户名 -p密码 -B --all-databases > /tmp/back.sql

--all-databases  表示备份所有数据库
-B  参数作用是备份的sql文件中就有创建数据库的语句了
  • 但是执行命令时可能会出现以下错误
mysqldump: [Warning] Using a password on the command line interface can be insecure.

ps:出现了以上警告,还是依然执行成功;如果未执行成功,可尝试以下解决方式。

  • 解决
    修改my.cnf配置文件,在[client]下添加三行命令
[client]
host=localhost
user=root
password=root
//用户名密码根据实际情况填写

配置完之后重启数据库服务,运行备份命令。
如果仍然出错,则采用另外的备份命令,如下:
/usr/local/mysql/bin/mysqldump --defaults-extra-file=/etc/my.cnf -B --all-databases > /back.sql

--defaults-extra-file  参数指定的是mysql的配置文件

参考:
https://dev.mysql.com/doc/refman/5.6/en/password-security-user.html?spm=5176.7737807.2.3.D6p7hh

  • 结果
    备份成功之后就可以在当前目录下看到back.sql

还原

将back.sql备份文件传输到需要还原数据的服务器中,登录mysql,执行source back.sql命令,即可还原数据:

mysql > source /tmp/back.sql

另注

备份单个库

备份某个数据库的结构和数据/usr/local/mysql/bin/mysqldump -u用户名 -p密码 -B 数据库名> back.sql

备份某个数据库的结构/usr/local/mysql/bin/mysqldump -u用户名 -p密码 -d -B 数据库名> back.sql

备份某个数据库的数据/usr/local/mysql/bin/mysqldump -u用户名 -p密码 -t -B 数据库名> back.sql

-B 的参数作用,会添加以下sql语句,这样在恢复数据时就无需自己创建相应的数据库:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `girls` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `girls`;
#girls为备份的数据库

备份单个表

/usr/local/mysql/bin/mysqldump -u用户名 -p密码 -B 数据库名 表名> back.sql

常见问题

备份数据时出现错误:
Got error: 2002: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) when trying to connect

在执行备份命令时加上-h参数,例如:
/usr/local/mysql/bin/mysqldump -u用户名 -p密码 -h127.0.0.1 -B --all-databases > /tmp/back.sql

参考博客:
https://www.cnblogs.com/yanghongtao/p/10897282.html
https://www.cnblogs.com/wt645631686/p/7832993.html
https://www.cnblogs.com/flyfly123/p/12325770.html
https://www.cnblogs.com/emanlee/p/5410177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值