centos6 两台
- Master IP:192.168.88.152
- Slave IP:192.168.88.153
以下都是在主机上操作
两机配置免密登录
- SSH-keygen -t rsa
- SSH-copy-id [email protected]
编写 mysql_master 脚本
- VIM mysql_mster.sh
- #!/bin/bash
- service iptables stop
- setenforce 0
- yum -y install MySQL MySQL-server #安装 MySQL 服务 如果是 centos7 安装命令 yum -y install mariadb mariadb-server
- sed -IE '7a\server-id=1\nlog-bin=mysql-bin\nrelay-log\n' /etc/my.cnf #修改中继日志
- service mysqld restart #重启 MySQL 服务
- MySQL -e "grant all on *.* to'tom'@'%'identified by'123';" #用户授权
- MySQL -e 'flush privileges;' #刷新
- MySQL -e 'show master status;' #查看二进制
编写 mysql_slave 脚本
- VIM mysql_slave.sh
- #!/bin/bash
- bin=`ssh [email protected] "mysql -e'show master status;'|grep mysql"`
- file=`echo $bin|awk -F '''{print $1}'`
- pos=`echo $bin|awk -F '''{print $2}'`
- service iptables stop
- setenforce 0
- yum -y install MySQL MySQL-server
- sed -IE '7a\server-id=2\nlog-bin=mysql-bin\nrelay-log\n' /etc/my.cnf
- service mysqld start
- MySQL -e "change master to master_host='192.168.88.152',master_user='tom',master_password='123',master_log_file='$file',master_log_pos=$pos;"
- MySQL -e 'start slave'
- MySQL -e 'show slave status \G;'
- IO=`mysql -e "show slave status\G;" 2>/dev/null |grep Slave_IO_Running|awk -F ':' '{print $2}'`
- SQL=`mysql -e "show slave status\G;" 2>/dev/null |grep Slave_SQL_Running|awk -F ':' '{print $2}'`
- if [ $IO == "Yes" -a $SQL == "Yes" ]
- then
- echo "成功"
- else
- echo "失败"
- fi
将 mysql_slave.sh 复制到 slave 主机上
scp mysql_slave.sh 192.168.88.153:/root/
执行 mysql_master.sh
sh mysql_master.sh
在 master 主机上远程执行 mysql_slave 脚本
SSH [email protected] "sh /root/mysql_slave.sh"
来源: http://www.bubuko.com/infodetail-3313247.html