使用linux的定时任务crontab完成mysql数据库跨服务器迁移

近日,由于需要将A服务器的数据库中的某些表跨服务器转移到B服务器中,用mysqldump写了一个语句,完成了该项任务。

 

mysqldump语句如下:

 

mysqldump --default-character-set=utf8mb4 --host=h1 -uroot -proot --opt db1 | mysql --host=h2 -uroot -proot --default-character-set=utf8mb4 -C db2

 

 

 

相关参数解释如下:

h1:源服务器数据库ip地址

-uroot:  mysql的root用户名

-proot:  mysql的root账户密码

db1:源数据库库名

h2:目标数据库ip地址

db2:目标数据库库名

 

然后,新建一个文本文件,将mysqldump语句粘贴进去,更改文件名扩展名为.sh文件,上传到服务器根目录或者其他目录

 

先可以在终端下执行一下该文件,检查一下该文件是否正确执行。

 

接下来用crontab -e命令

语法
 crontab(选项)(参数)
选项
 -e:编辑该用户的计时器设置;
 -l:列出该用户的计时器设置;
 -r:删除该用户的计时器设置;
 -u<用户名称>:指定要设定计时器的用户名称。
 crontab(选项)(参数)
选项
 -e:编辑该用户的计时器设置;
 -l:列出该用户的计时器设置;
 -r:删除该用户的计时器设置;
 -u<用户名称>:指定要设定计时器的用户名称。

 

 

vim编辑器相关命令如下:

按insert键进入编辑模式就可以修改了,修改完成后,

按ESC键 跳到命令模式,然后:命令模式,然后:
 
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
如下图:
<img data-cke-saved-src="https://img-blog.csdn.net/20171109093213136" src="https://img-blog.csdn.net/20171109093213136" alt="" />

 

 

笔者这里的意思是00 13 * * * /mysql.sh,00 21 * * * /mysql.sh每天13点和21点整运行根目录下的mysql.sh文件
具体crontab用法可以百度查一下.
再运行service crond status命令看一下crond服务是否启动,如果没有启动的话,可以用命令service crond restart启动一下。
至此,大功告成,每天系统会自动完成mysqldump里面的跨服务器传输数据表的任务。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wuhanwhite

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

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

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

打赏作者

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

抵扣说明:

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

余额充值