主机服务器
1.配置my.cnf
[mysqld]
#开启二进制日志
log-bin=mysql-bin
#标识唯一id(必须),一般使用ip最后位
server-id=1
#不同步的数据库,可设置多个
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
#指定需要同步的数据库(和slave是相互匹配的),可以设置多个
binlog-do-db=test
#添加日志存储方式和规则(选填)
#设置存储模式不设置默认
binlog_format=MIXED
#日志清理时间
expire_logs_days=7
#日志大小
max_binlog_size=100m
#缓存大小
binlog_cache_size=4m
#最大缓存大小
max_binlog_cache_size=521m
2.分配从机访问账号
创建有复制权限的用户账号
create user '用户名' @'192.168.198.1' identified by '密码';
mysql> grant replication slave on *.* to '用户名'@'192.168.198.1';
3.重启主库
[root@localhost ~]# service mysqld restart #重启mysql服务
[root@localhost ~]# mysql -u root -p #登陆mysql
mysql> show master status; #查看master状态
从机服务器
1.配置my.cnf
[mysqld]
#开启二进制日志
log-bin=mysql-bin
#标识唯一id(必须),一般使用ip最后位
server-id=1
#不同步的数据库,可设置多个
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
#指定需要同步的数据库(和slave是相互匹配的),可以设置多个
binlog-do-db=test
#添加日志存储方式和规则(选填)
#设置存储模式不设置默认
binlog_format=MIXED
#日志清理时间
expire_logs_days=7
#日志大小
max_binlog_size=100m
#缓存大小
binlog_cache_size=4m
#最大缓存大小
max_binlog_cache_size=521m
2.重启服务器
[root@localhost ~]# service mysqld restart
[root@localhost ~]# mysql -u root -p
3.使用有复制权限的用户账号连接至主服务器,并启动
mysql> stop SLAVE;
mysql> change master to master_host='192.168.198.1',master_user='repluser',master_password='qazxsw@123',master_log_file='mysql-bin.00007',MASTER_LOG_POS=64964;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G;
注意:file和position要和上面的master_log_file和MASTER_LOG_POS一致
如图:查询主机的log节点信息
从机操作
mysql>stop slave; //停止
mysql>reset slave; //复位
mysql>start slave; //开启
注意:
1.主数据库创建时从机用户尽量时使用root用户
成功后从机的状态如下: