目录
相关 
思路
主库
1、检查主库是否开启log-bin
2、开启log-bin
3、重启MySQL
4、检查生成的log-bin目录
5、进入MySQL,锁表,记录POS号
6、备份mysql文件,解表
7、主库传输mysql文件到从库
8、添加iptables防火墙规则(ip为从库IP)
从库
1、停止从库的业务程序
2、停止票务开机自启程序
3、检查主库是否开启log-bin
4、开启log-bin,添加配置,修改id
4、停止mysql ,备份目录
5、覆盖mysql目录,删除auto.cnf
6、启动mysql
7、启动主从
相关 
相关原理可以查看此博客        
https://blog.csdn.net/heian_99/article/details/106647572 http://xn–mysql-ni1h1kkd34cien8anzj00an2yqrx8k1a1u9c2j7e9svvilaaa
http://xn–mysql-ni1h1kkd34cien8anzj00an2yqrx8k1a1u9c2j7e9svvilaaa
以下作为 实际操作
环境:
主库:    mysql
从库:        mysql
思路
(1)主库A数据全,数据库B空的
(2)锁表数据库A,记录pos号
(3)复制数据库A目录数据(进行cp备份)然后 解锁表
(4)把数据库A备份的数据进行scp 数据库B
(5)把数据库A的目录,进行覆盖数据库B的目录。(数据覆盖,相当于备份恢复)
(6)进行主共同步
**注意:日志格式 **statement  row mixed   建议使用 mixed

主库
1、检查主库是否开启log-bin
| 1
2
 | [root@92-69-xy-bak ~]# cat /etc/my.cnf | grep log-bin
log-bin=/databak/mysql-bin/mysql-bin
 | 
 
2、开启log-bin
如果上面没有显示,需要开启log-bin
| 1
2
3
4
5
6
 | 开启
vim /etc/my.cnf
log-bin=/databak/mysql-bin/mysql-bin
创建目录,授权
mkdir  /databak/mysql-bin
chown  mysql.mysql  /databak/mysql-bin   -R
 | 
 
3、重启MySQL
重启mysql是因为刚开启log-bin日志,需要生成数据
4、检查生成的log-bin****目录
| 1
 | 目的:是否开启log-bin成功,是否生成日志数据
 | 
 
| 1
2
3
4
 |  ls /databak/mysql-bin/
生成的数据
mysql-bin.000001  mysql-bin.000002  mysql-bin.000003  mysql-bin.index
 | 
 
5、进入MySQL,锁表,记录POS****号
| 1
2
3
4
 | mysql -ucpms -pudqjHDMkxQfGP4iy
FLUSH TABLES WITH READ LOCK;
show master status;
echo  "日志名字    偏移量"   >  /var/lib/mysql/记录文件
 | 
 
6、备份mysql文件,解表
| 1
2
3
 | cp  -r    /var/lib/mysql /opt/mysql_bak
UNLOCK TABLES;
 | 
 
7、主库传输mysql****文件到从库
| 1
2
 | cd /opt
scp -r mysql_bak soft CMS3.10.21 192.168.0.3:/opt
 | 
 
8、添加iptables防火墙规则(ip为从库IP**)**
| 1
2
3
 |  vim /etc/sysconfig/iptables
-A INPUT -s 10.92.69.3 -p tcp --dport 3306 -j ACCEPT
/etc/init.d/iptables restart
 | 
 
以上操作主库完成
从库
1、停止从库的业务程序
2、停止票务开机自启程序
| 1
 | chkconfig --list | grep cms |awk '{print "chkconfig",$1,"off"}'|bash
 | 
 
3、检查主库是否开启log-bin
| 1
2
 | [root@92-69-xy-bak ~]# cat /etc/my.cnf | grep log-bin
log-bin=/databak/mysql-bin/mysql-bin
 | 
 
4、开启log-bin,添加配置,修改id
如果上面没有显示,需要开启log-bin
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
 | 开启
vim /etc/my.cnf
log-bin=/databak/mysql-bin/mysql-bin
server-id=2
replicate_ignore_table=CMS.QC_TEMP
replicate_ignore_table=CMS.QM_TEMP
replicate_ignore_table=CMS.STORE_IN_TEMP
replicate_ignore_table=CMS.TEMP_POS_SALE_GOODS_ITEM_COST
replicate_ignore_table=CMS.TEMP_POS_REJECT_GOODS_ITEM_COST
replicate_ignore_table=CMS.MER_INTERFACE_DAY_STORE_CHECK
slave-skip-errors = 1062
创建目录,授权
mkdir  /databak/mysql-bin
chown  mysql.mysql  /databak/mysql-bin   -R
 | 
 
4、停止mysql ,备份目录
| 1
2
3
 | service mysql stop
mv /var/lib/mysql /var/lib/bak_mysql
 | 
 
5、覆盖mysql目录,删除auto.cnf
| 1
2
3
 | cp -r /opt/mysql_bak /var/lib/mysql
\rm   /var/lib/mysql/auto.cnf
 | 
 
6、启动mysql
7、启动主从
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
 | 进入mysql
mysql -uroot -p^passswd
停止slave
stop  slave;
写入 配置信息(注意pos号,账号,主库ip 端口)
change master to
master_host='10.92.69.2',
master_port=3306,
master_user='admin',
master_password='udq5545adadefiy',
master_log_file='mysql-bin.000001',
master_log_pos=17503;
开启从库
start  slave;
查看状态
show slave status\G
两个yes为正常,检查pos号是否已经和主库同步
 | 
 
以上操作需谨慎,尤其主库上,输入命令需三思(文档仅供参考)