3307 master3308 salve13309 salve2
grant replication slave on *.* to repl@'10.0.0.%' identified by '123456'; flush privileges;
直接从第一个binlog(mysql-bin.000001)的开头位置(120)
mysqldump -uroot -p123456 -S /data/3307/mysql.sock -A -R --triggers --master-data=2 --single-transaction >/tmp/full.sql
[root@db2 ~]# sed -n '22p' /tmp/full.sql -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=1036;
salve节点操作
mysql -S /data/3308/mysql.sock mysql> set sql_log_bin=0; mysql> source /tmp/full.sql
帮助:
help change master to
mysql -S /data/3308/mysql.sock CHANGE MASTER TO MASTER_HOST='10.0.0.87', MASTER_USER='repl', MASTER_PASSWORD='123456', MASTER_PORT=3307, MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=1036;
开启IO和SQL线程
salve 节点操作
mysql> start slave;
在其中一台从库上的操作
白名单:只记录白名单中列出的库的二进制日志 binlog-do-db 黑名单:不记录黑名单列出的库的二进制日志 binlog-ignore-db
白名单:只执行白名单中列出的库或者表的中继日志
--replicate-do-db=test --replicate-do-table=test.t1 --replicate-wild-do-table=test.x*黑名单:不执行黑名单中列出的库或者表的中继日志 --replicate-ignore-db --replicate-ignore-table --replicate-wild-ignore-table
GTID 是5.6的新特性
GTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。
它的官方定义如下:GTID = source_id :transaction_id7E11FA47-31CA-19E1-9E56-C43AA21293967:29
每一台mysql实例中,都会有一个唯一的uuid,标识实例的唯一性auto.cnf,存放在数据目录下
[mysqld] gtid-mode=on --启用gtid类型,否则就是普通的复制架构 enforce-gtid-consistency=true --强制GTID的一致性 log-slave-updates=1 --slave更新是否记入日志
master:
[mysqld] datadir=/data/mysql/data basedir=/data/mysql socket=/data/mysql/tmp/mysql.sock port=3306 server_id=101 log-error=/var/log/mysql.log log-bin=/data/binlog/my-bin binlog_format=row autocommit=0 skip_name_resolve sync_binlog=1 gtid-mode=on enforce-gtid-consistency=true log-slave-updates=1 [client] socket=/data/mysql/tmp/mysql.sock
salve1:
[mysqld] datadir=/data/mysql/data basedir=/data/mysql socket=/data/mysql/tmp/mysql.sock port=3306 server_id=102 log-error=/var/log/mysql.log log-bin=/data/binlog/my-bin binlog_format=row autocommit=0 skip_name_resolve sync_binlog=1 gtid-mode=on enforce-gtid-consistency=true log-slave-updates=1 [client] socket=/data/mysql/tmp/mysql.sock
salve2:
[mysqld] datadir=/data/mysql/data basedir=/data/mysql socket=/data/mysql/tmp/mysql.sock port=3306 server_id=103 log-error=/var/log/mysql.log log-bin=/data/binlog/my-bin binlog_format=row autocommit=0 skip_name_resolve sync_binlog=1 gtid-mode=on enforce-gtid-consistency=true log-slave-updates=1 [client] socket=/data/mysql/tmp/mysql.sock
设置密码
查看三个节点
mysql -uroot -p123456 -e "show variables like 'server_id'"
转载于:https://www.cnblogs.com/augustyang/p/11543565.html
