-
服务器1的mysql服务(主库)
-
my.cnf配置(主库)
-
[mysqld] server-id=1 #主从mysql服务器设置不同值 log-bin=mysql-bin #开启binlog二进制日志 binlog-do-db=test666 #需要复制的数据库名,多数据库重复设置这个选项 binlog-ignore-db= #不需要复制的数据库名,多个数据库重复设置这个选项
-
创建同步账号
grant replication slave on *.* to 'hui' identified by '123456';
-
查询主库状态
show master status;
-
服务器2的mysql服务(从库)
-
my.cnf配置(从库)
[mysqld] server-id=2 #主从mysql服务器设置不同值 relay_log=mysql-relay-bin #开启从库binlog二进制日志 read_only=1 #它防止改变数据(除了特殊的线程 replicate-do-db=test666 #需要复制的数据库名,多数据库重复设置这个选项 replicate-ignore-db= #不需要复制的数据库名,多个数据库重复设置这个选项
-
从库连接主库
CHANGE MASTER TO
MASTER_HOST='192.168.0.3',
MASTER_USER='hui',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=322;
-
启动连接
start slave;
-
查看从库状态
show slave status;
其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
-
重置从库连接
stop slave; reset master; reset slave; 重新连接主库 CHANGE MASTER TO...那段.. start slave;
-
验证:主库数据库创建表/增删改查操作,查看从库是否同步