linux mysql dump远程_如何备份远程 MySQL 数据到本地

对于远程的 MySQL 数据库,如何定期将数据备份到本地呢?对于需要远程备份数据的童鞋来说我想这个是经常需要用到的。

1、首先远程数据库必须支撑远程连接,提供有供远程连接的IP或者域名。

假设远程数据库域名为 mysql.example.com ,数据库登录账号为 username , 账号密码为 passwd 数据库名称为 database1 。

通过 mysqldump 命令来解决远程备份,要在本机试用mysqldump命令,首先你本地得安装MySQL。

Linux系统安装 MySQL 教程可以参考以下教程:

2、编写导出数据命令

mysqldump -h 远程服务器IP或域名 -u 远端数据库账号 -p'远端数据库密码' --default-character-set=utf8 数据库名字 > /tmp/database_db.sql

MySQL 安装后,mysqldump 命令默认路径在 /usr/local/mysql/bin/

键入以下命令:

cd /usr/local/mysql/bin/

./mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db.sql

执行完成后,你会发现在/tmp目录下生成一个database_db.sql文件。

3、定时备份导出

linux 系统下很容易设定定时人员,通过 crontab 设定定时任务,例如设定每天凌晨1点10分进行数据备份到本地。

打开终端,输入crontab -e 打开 crontab 编辑窗口。

键入以下命令:

/usr/local/mysql/bin/mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db.sql

至此,定时任务完成。

这样的定时任务有个问题,就是每次生成的文件会覆盖上次生成的备份数据文件,如何解决这个问题?

可以通过对生成文件名称加上时间戳的方式来解决,例如 database_db_201801010101.sql。

date +%Y%m%d%H%M%S

以上命令可以输出,类似如下:

20181121172635

在脚本名称中增加 `date +%Y%m%d%H%M%S`,这样每次生成的脚本名称就会追加上时间戳。

/usr/local/mysql/bin/mysqldump -h mysql.example.com -u username -p'passwd' --default-character-set=utf8 database1 > /tmp/database_db_`date +%Y%m%d%H%M%S`.sql

执行完成后,你会发现在/tmp目录下面会有类似如下的文件生成:

database_db_ 20181121172635.sql

写在最后

如何备份远程 MySQL 数据到本地的方式以上内容介绍完成,主要涉及到知识点有以下几点:

1、本地本分环境安装 MySQL。

2、使用 mysqldump 命令进行备份。

3、使用 crontab 命令实现定时备份。

4、使用反单引号(``) 执行日期命令获取时间戳。

如果您有任何疑问,请在下面留言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值