前两天突然有个想法,lanmp都能脚本自动化安装,那mysql主从是不是也可以实现。
然后我带着这个幼稚的想法,就干了,一天就写完了,当第二天自己信心满满的试了一下,各种问题出现,我还在expect脚本出问题时发贴求助过,
贴子地址:http://apelearn.com/bbs/thread-13530-1-1.html
一直测试到晚上12点,期间有工作要做,所以测试也就一晚上左右。终于成功了,分享出来,看看那位同学有兴趣帮我也试试。
脚本:
思路是这样的,
master.sh脚本,先安装好master的mysql,
然后通过expect脚本+rsync软件把
slave.sh脚本 /etc/my.cnf , /etc/init.d/mysqld 还有mysqldump下来的all.sql,以及在master下载下来的mysql二进制安装包,用rsync传到slave机子上
最后通过expect脚本来运行slave.sh的脚本来安装,并且配置好主从,期间,用slave.tmp来记录master机子的binlog的状态,以便于传到slave后用命令添加进去。
在master脚本里可以设置:
my_passwd可以配置安装mysql后自定义密码
rp_user 可以配置用于主从传输的用户名
rp_passwd 可以配置用于主从传输的密码
s_user 用于定义slave远程登陆账号
s_host 用于定义slave的ip地址
s_passwd 用于定义slave的远程登陆密码
在slave脚本里
rp_user和master设置一样。。。
my_passwd也是和master一样用于设置 slave的mysql密码
mas_ip 设置master的ip地址
本来还想做出一个conf文件来,便于修改这些,但是,我不想玩了。。测了一天,能用就好。。。
然后我带着这个幼稚的想法,就干了,一天就写完了,当第二天自己信心满满的试了一下,各种问题出现,我还在expect脚本出问题时发贴求助过,
贴子地址:http://apelearn.com/bbs/thread-13530-1-1.html
一直测试到晚上12点,期间有工作要做,所以测试也就一晚上左右。终于成功了,分享出来,看看那位同学有兴趣帮我也试试。
脚本:
思路是这样的,
master.sh脚本,先安装好master的mysql,
然后通过expect脚本+rsync软件把
slave.sh脚本 /etc/my.cnf , /etc/init.d/mysqld 还有mysqldump下来的all.sql,以及在master下载下来的mysql二进制安装包,用rsync传到slave机子上
最后通过expect脚本来运行slave.sh的脚本来安装,并且配置好主从,期间,用slave.tmp来记录master机子的binlog的状态,以便于传到slave后用命令添加进去。
在master脚本里可以设置:
my_passwd可以配置安装mysql后自定义密码
rp_user 可以配置用于主从传输的用户名
rp_passwd 可以配置用于主从传输的密码
s_user 用于定义slave远程登陆账号
s_host 用于定义slave的ip地址
s_passwd 用于定义slave的远程登陆密码
在slave脚本里
rp_user和master设置一样。。。
my_passwd也是和master一样用于设置 slave的mysql密码
mas_ip 设置master的ip地址
本来还想做出一个conf文件来,便于修改这些,但是,我不想玩了。。测了一天,能用就好。。。
编辑回复