mysql之主从、主主同步

mysql之主从、主主同步

1、主从同步

       一、master:(虚拟机cenOS7上)java

            a:ip:192.168.35.129
mysql

            b:修改 my.cnf
sql

# 为了区分不一样的mysql程序(只要mysql程序的数惟一)
server-id=2
# master的执行语句记录位置(slaver主要就是复制这上面的sql语句进行同步)
log-bin=master-bin

            c:访问用户及权限
centos

重启:
#:service mysql restart
添加slaver的权限
# mysql -u root -p
# grant replication slave on *.* to 'sl'@'192.168.35.1' identified by '1234';
# flush privileges;

           d:查看状态tcp

#:show master status;
以下:
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| master-bin.00001 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)

            f:防火墙(centos7使用的是firewall)
ide

一、查看firewall是否打开了 3306端口
#:firewall-cmd --list-all
二、打开端口
#:firewall-cmd --add-port=3306/tcp --pernament

       二、slaver (window上)
ui

            a:ip:192.168.35.1
centos7

            b:修改 my.cnf
spa

# 为了区分不一样的mysql程序(只要mysql之间的数惟一)
server-id=3

            c:开启slaverrest

一、修改master
mysql> CHANGE MASTER TO MASTER_HOST='192.168.35.129', MASTER_USER='sl',MASTER_PASSWORD='123',
MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=0;
(最后这一个是slaver从master日志第几行开始执行,通常出问题了都会在问题解决后,修改这一行)
二、开启
mysql> start slave;
三、开启状态
mysql> show slave status\G;

      

            (ps:红色的两个参数最重要,正常工做须要这两个都是YES)  

        三、错误处理

            问题:

                在master添加一个库:create database temp; 而这个时候slave早就有了这个表。slave就会关闭同步。以下

            处理:(在slave中)

一、关闭 slave
mysql > stop slave;
二、删除temp库
mysql > drop database temp;
三、修改存放的master信息(主要是 MASTER_LOG_POS,就是上图的 Exec_Master_Log_Pos.)
mysql> CHANGE MASTER TO MASTER_HOST='192.168.35.129', MASTER_USER='fxl',MASTER_PASSWORD='123',
MASTER_LOG_FILE='mater-bin.000015',MASTER_LOG_POS=456;
四、启动
mysql> start slave;
五、查看
mysql> show slave status\G;
(若是 Slave_IO_Running和Slave_SQL_Running都是YES,也就正常了)

2、主主同步

    一、主主同步就是相互主从同步的关系。

    二、主键处理须要将自增数分开<奇偶>(最好是使用uuid)

auto-increment-increment = 2 //每次增加2
auto-increment-offset = 2 //设置自动增加的字段的偏移量,即初始值为2
相关文章
相关标签/搜索