#!/bin/bash
export master_ip=192.168.7.206
export slave_ip=192.168.7.207
export root_passwd=123456
 
echo '#1.取master主机ip的后三位作为master的server_id'
export master_server_id=`echo $master_ip |awk -F . '{print $4}'`
 
echo '#2.取slave主机ip的后三位作为slave的server_id'
export slave_server_id=`echo $slave_ip |awk -F . '{print $4}'`
 
echo '#3.取出master主库的postion'
postion_num=$(ssh -Tq $master_ip <<eof
mysql -uroot   -e 'show master status\G' 2>/dev/null|grep Position |cut -f2 -d :
--#mysql -uroot -p123456  -h$master_ip  -e 'show master status\G' 2>/dev/null|grep Position |cut -f2 -d :
eof
)
 
echo '#4.取出master主库的log_name'
log_name=$(ssh -Tq $master_ip <<eof
mysql -uroot -p123456  -e 'show master status\G' 2>/dev/null|grep File |cut -f2 -d :
eof
)
 
echo '#5.事先修改master主库的server_id'
echo $master_server_id
#ssh  ${master_ip} <<EOF
mysql -uroot -h$master_ip  <<eof
--#set global server_id=echo $master_ip | cut -b 11,12,13
set global server_id=$master_server_id;
eof
service mysql restart
 
echo '#6.事先修改slave从库的server_id'
echo $slave_server_id
mysql -uroot -h$slave_ip  <<eof
set global server_id=$slave_server_id;
eof
 
echo '#7.slave库设置密码和配置'
#ssh -Tq `${slave_ip}` <<EOF
mysql -uroot -h192.168.7.207  <<eof
use mysql;
stop slave;
select sysdate();
flush privileges;
#set password = password("${root_passwd}");
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${root_passwd}';
GRANT ALL PRIVILEGES ON *.* TO 'root'@localhost IDENTIFIED BY '${root_passwd}';
--#change master to master_host='192.168.7.206',master_port=3309,master_user='root',master_password='123456', master_log_file='bin.000017',master_log_pos=8888;
--#change master to master_host='192.168.7.206',master_port=3309,master_user='root',master_password='123456', master_log_file='${log_name}',master_log_pos=${postion_num};
flush privileges;
eof
 
echo '#8.slave库做chang master 操作'
ssh -Tq $master_ip <<EOF
service mysql restart
EOF
 
ssh -Tq $slave_ip <<EOF
service mysql restart
EOF
 
export master_ip=192.168.7.206
export slave_ip=192.168.7.207
 
echo '#3.取出master主库的postion'
postion_num=$(ssh -Tq $master_ip <<eof
--#mysql -uroot   -e 'show master status\G' 2>/dev/null|grep Position |cut -f2 -d :
mysql -uroot -p123456  -h$master_ip  -e 'show master status\G' 2>/dev/null|grep Position |cut -f2 -d :
eof
)
 
echo '#4.取出master主库的log_name'
log_name=$(ssh -Tq $master_ip <<eof
mysql -uroot -p123456  -e 'show master status\G' 2>/dev/null|grep File |cut -f2 -d :
eof
)
echo $postion_num
echo $log_name
mysql -uroot -h192.168.7.207  <<eof
 
--#change master to master_host='192.168.7.206',master_port=3309,master_user='root',master_password='123456', master_log_file='bin.000017',master_log_pos=8888;
change master to master_host='${master_ip}',master_port=3309,master_user='root',master_password='123456',master_log_file='${log_name}',master_log_pos=${postion_num};;
 
 
start slave;
select sysdate();
eof
exit;

MySQL主从同步最佳实践的更多相关文章

  1. 这次一定要教会你搭建Redis集群和MySQL主从同步(非Docker)

    前言 一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊 ...

  2. zabbix3.0.4监控mysql主从同步

    zabbix3.0.4监控mysql主从同步 1.监控mysql主从同步原理: 执行一个命令 mysql -u zabbix -pzabbix -e 'show slave status\G' 我们在 ...

  3. MySQL主从同步几个文件

    MySQL主从同步:   M锁表 M导出S导入 M解锁 M建同步帐号 S获取点位:产生master.info S开启同步   3306: mysql-bin.0000x mysql-bin.index ...

  4. 监控mysql主从同步状态脚本

    监控mysql主从同步状态脚本 示例一: cat check_mysql_health #!/bin/sh slave_is=($(mysql -S /tmp/mysql3307.sock -uroo ...

  5. Linux下MySQL主从同步配置

    Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...

  6. Mysql主从同步(复制)

    目录: mysql主从同步定义      主从同步机制 配置主从同步      配置主服务器      配置从服务器 使用主从同步来备份      使用mysqldump来备份      备份原始文件 ...

  7. MySQL主从同步原理 部署【转】

    一.主从的作用:1.可以当做一种备份方式2.用来实现读写分离,缓解一个数据库的压力二.MySQL主从备份原理master 上提供binlog ,slave 通过 I/O线程从 master拿取 bin ...

  8. shell脚本修复MySQL主从同步

    发布:thebaby   来源:net     [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...

  9. nagios 实现Mysql 主从同步状态的监控

    一.系统环境 主机名 IP nagios 192.168.15.111 mysql_s 192.168.15.21 二.操作步骤 2.1 mysql_s端的配置 2.1.1 编写check_mysql ...

随机推荐

  1. 第一章(欢迎进入node.js世界)

    本章内容 1:Node.js是什么 2:服务器端javascript 3:node的异步和事件触发本质 4:node为谁而生 5:node程序示例 1.1 node.js他的首次亮相是在2009年,非 ...

  2. 【C#】取整函数Math.Round、Math.Ceiling和Math.Floor区别

    Math.Round 原则: 四舍六入五取偶. 也就是说 0.1-0.4为0 0.5为0 0.6-0.9为1 1.5为2 Math.Ceiling 原则: 有小数就加1 0.1 = 1 Math.Fl ...

  3. codeforce gym/100495/problem/F Snake++——DFS应用

    emmmm.... 在被新生暴打后,我花了很久才补出这道DFS.由于WA1检查了半天,最后竟然是输出少了一个:   ,心态小崩. 这里普通的dfs算出的连通区域并不能直接当做最后的答案.所以需要类似模 ...

  4. 2、zabbix工作原理及安装配置

      Zabbix架构:zabbix基本术语.zabbix安装.配置和应用 Zabbix架构中的组件: zabbix-server:C语言    zabbix-server和zabbix-agent通过 ...

  5. Mac python 2.X 升级到 3.X

    Mac OS X10.9默认带了Python2.7,不过现在Python3.3.3出来了,如果想使用最新版本,赶紧升级下吧.基本步骤如下. 第1步:下载Python3.3 下载地址如下: Python ...

  6. jqGrid API (转)

    来源:https://www.cnblogs.com/MonaSong/p/5109991.html JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGr ...

  7. Codeforces 510 E. Fox And Dinner

    题目链接:http://codeforces.com/problemset/problem/510/E 乍一看和那啥魔术球问题有点神似啊/XD 其实是不一样的. 解决这道问题的关键在于发现若是相邻的两 ...

  8. 【二十二】mysqli事务处理与预处理总结

    事务处理 事务基本原理 如果不开启事务,执行一条sql,马上会持久化数据.可见:默认的mysql对sql语句的执行是自动提交的! 如果开启了事务,就是关闭了自动提交的功能,改成了commit执行自动提 ...

  9. 解决输入git branch 进入编辑状态,mac下出现END,无法返回

    core.pager指定 Git 运行诸如log.diff等所使用的分页器,你能设置成用more或者任何你喜欢的分页器(默认用的是less), 当然你也可以什么都不用,设置空字符串: git conf ...

  10. javascript 创建video元素

    <!DOCTYPE html> <html> <body> <h3>演示如何创建 VIDEO 元素</h3> <p>请点击按钮来 ...