在主机上的配置文件 my.cnf 里进行如下配置 log-bin=mysql-bin # 开启二进制日志 server-id=1 # 主库的唯一标识符 binlog-do-db=db # 需要复制的数据库名 在从机上的配置文件 my.cnf 里进行如下配置 server-id=2 # 从库的唯一标识符 replicate-do-db=db # 需要复制的数据库名 relay-log=relay-bin # 开启中继日志 replicate-wild-ignore-table=mysql.% # 忽略 MySQL 系统表的同步
配置完后,大家需要重启MySQL服务,接着在主机上创建一个用于复制的用户,并赋予相应的权限
grant replication slave on *.* to 'slave'@'从服务器的ip' identified by '密码'; flush privileges; show MASTER status;
在从机上进行如下操作,把刚才主机上的 MASTER status 相应的值更新到从机上
CHANGE MASTER TO MASTER_HOST='主服务器ip', MASTER_USER='slave', MASTER_PASSWORD='slave密码', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98; start slave; show slave status;
当从机的状态出现 yes,表示 MySQL 服务器已成功运行在 slave 模式下,即完成了从主机上复制数据的操作。