mysql5.7 主从配置
192.168.182.100 为主数据库服务器
192.168.182.101 为从数据库服务器
1、在主数据库中 添加配置
#开启二进制日志 [mysqld] log-bin=mysql-bin #开启二进制日志 server-id=1 #任意自然数n,只要保证两台MySQL主机不重复就可以了。 auto-increment-increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n auto-increment-offset=1 #起始值。一般填第n台主MySQL。此时为第一台主MySQL #binlog-do-db=monitor_db #要给从机同步的库 binlog-ignore-db=mysql #不给从机同步的库(多个写多行) binlog-ignore-db=mysqlslap binlog-ignore-db=information_schema binlog-ignore-db=performance_schema binlog-ignore-db=sys expire_logs_days=3 # 自动清理 3 天前的log文件 可根据需要修改
注意:二进制日志必须开启,因为数据的同步实质上就是其他的MySQL数据库服务器将这个数据变更的二进制日志在本机上再执行一遍。
2、在主数据库中创建一个 从数据库主机中可以登录的MySQL用户
用户:mysql2
密码:mysql2
mysql>GRANT REPLICATION SLAVE ON *.* TO 'mysql2'@'192.168.182.101' IDENTIFIED BY 'mysql2'; mysql>FLUSH PRIVILEGES;
3、查看主数据库服务器二进制文件名与位置
mysql>SHOW MASTER STATUS;
第二步:
1、在从数据库中 添加配置
[mysqld] log-bin=mysql-bin #开启二进制日志 server-id=2 #任意自然数n,只要保证两台MySQL主机不重复就可以了。 auto-increment-increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n auto-increment-offset=2 #起始值。一般填第n台主MySQL。此时为第一台主MySQL binlog-do-db=monitor_db #要给从机同步的库 expire_logs_days=3 # 自动清理 3 天前的log文件 可根据需要修改
2、告知二进制文件名与位置
在从数据库中执行:
mysql>CHANGE MASTER TO MASTER_HOST='192.168.182.100' ,MASTER_USER='mysql2',MASTER_PASSWORD='mysql2' ,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154 \g
完成主从复制配置
在从数据库 192.168.182.101 中
mysql>START SLAVE; #开启复制 mysql>SHOW SLAVE STATUS \G #查看主从复制是否配置成功
当看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明状态正常