前提:准备好两个mysql服务。
一、数据库配置(1)主数据库配置:
log-bin=mysql-bin server-id = 1 #设置需要同步的数据库 binlog-do-db=xiaoming #屏蔽系统库同步 binlog-ignore-db=mysql binlog-ignore-db=information_schema binlog-ignore-db=performance_schema
(2)从数据库配置
#开启日志 log-bin=mysql-bin #设置服务id,主从不能一致 server-id=2 #设置需要同步的数据库 replicate_wild_do_table=dbname.% #屏蔽系统库同步 replicate_wild_ignore_table=mysql.% replicate_wild_ignore_table=information_schema.% replicate_wild_ignore_table=performance_schema.%
(3)将主、从数据库服务重启
二、创建用于主从复制的账号若没用创建账号,执行以下sql,若已创建则跳过。
账户创建好后执行以下sql语句,并记住file和position
show master status;三、主从数据同步设置
登录从数据库,执行以下sql语句:
#停止同步 stop slave; #修改从库指向主库,使用上一步记录的文件名以及位点 CHANGE MASTER TO master_host = 'localhost' , master_user = 'root' , master_password = 'root' , master_log_file='mysql-bin.000006', master_log_pos=156; #启动同步 start slave; #查看从库状态,Slave_IO_Running和Slave_SQL_Running都为yes说明同步成功,如果不为yes,请检查error_log,然后排查相关异常 show slave status; #注意,如果之前此从库已有主库指向,需要先执行以下命令清空 STOP SLAVE IO_THREAD FOR CHANNEL ''; reset slave all;
最后,进行测试,在主数据库中添加,修改,或删除某条数据,再到从数据库中查看,发现该数据也发生了改变。



