配置主节点(192.168.100.11)
编辑配置文件 vi /etc/my.cnf
重启服务
server-id=1 # 主从唯一标记
log-bin=/package/mysql/binlog # 开启 binlog 赋予授权 chown mysql /package/mysql -R
binlog-do-db=cqsme_platform_main # 同步的数据库名
binlog-do-db=diff-main # 同步的数据库名
binlog-ignore-db=mysql,information_schema,performance_schema # 忽略的数据库名
查看主节点信息
show master status; -- 状态(文件名、位置、库)
flush logs; -- 刷新 binlog 标记加一
show variables like '%log_bin%'; -- 查看 binlog 信息
show variables like 'server_id'; -- 查看标记
主节点创建用户用于从节点连接
CREATE USER 'bb' @'192.168.100.12' IDENTIFIED WITH mysql_native_password BY 'Bb123456.';
GRANT REPLICATION SLAVE ON *.* TO 'bb' @'192.168.100.12';
flush privileges; -- 刷新授权表信息
备份库
Flush tables with read lock; -- 全局锁 FTWRL
lock tables [table1] read,[table2] write; -- 表级锁
show master status; -- 状态(文件名、位置、库)
mysqldump -uroot -p123456 netnrdb > /netnr/data/netnrdb.sql -- 命令行备份数据库
mysql -u root -p netnrdb < /netnr/data/netnrdb.sql -- 命令行还原库
unlock tables; -- 释放锁(或断开加锁的会话连接会自动释放)
配置从节点(192.168.100.12)
编辑配置文件 vi /etc/my.cnf
server-id=2 # 主从唯一标记
replicate-do-db=cqsme_platform_main # 同步的库
replicate-do-db=diff-main # 同步的库
replicate-ignore-db=mysql,information_schema,performance_schema # 忽略的库
#replicate-do-table 同步的表
#replicate-ignore-table 忽略的表
#replicate-wild-do-table 同 replication-do-table 可通配符
#replicate-wild-ignore-table 同 replication-ignore-table 可通配符
配置标记
set global server_id=2; -- 设置标记,和 /etc/my.cnf 设置一样
show variables like 'server_id'; -- 查看标记
🔔 主节点数据库还原到从节点,从主节点备份的数据和从节点设置的主节点信息(文件、位置)一致
设置主节点信息
CHANGE MASTER TO MASTER_HOST = '192.168.100.11',
MASTER_USER = 'bb',
MASTER_PASSWORD = 'Bb123456.',
MASTER_LOG_FILE = 'mysql-bin.000004',
MASTER_LOG_POS = 373937817;
同步
start slave; -- 开始同步
show slave status; -- 查看同步状态,Slave_IO_Running:YES,Slave_SQL_Running:YES
从节点清除配置
stop slave;
reset slave;
reset slave all;
参考
https://blog.csdn.net/zyhlwzy/article/details/80569422
https://www.cnblogs.com/yuanfang0903/p/11232655.html
https://www.cnblogs.com/new-journey/p/11319527.html