第一步:准备两个5.7版本的MySQL,一个用作主数据库,另一个用作从数据库。把主数据库做为写入数据库,从数据库作为读数据库。
- 先把你的mysql目录拷贝复制一份,复制出来的那份取名为mysql-slave。
- 先修改主数据库的my.ini文件,添加以下代码,主要是配置要同步的数据库和屏蔽要同步的数据库:
log-bin=mysql-bin
server-id = 1
#设置需要同步的数据库
binlog-do-db=db_user
#屏蔽系统库同步
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
- 然后将主数据库注册为系统服务。
mysqld install mysql–master —defaults–file=“D:\xampp\mysql\bin\my.ini”
- 同时加上要同步的数据库表配置,记得server-id也要修改,改成和主数据库不一致就行:
server-id=2
#设置需要同步的数据库
replicate_wild_do_table=db_user.%
#屏蔽系统库同步
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
- 改完后同样把从数据库注册为系统服务。
mysqld install mysql–slave —defaults–file=“D:\xampp\mysql-slave\bin\my.ini”
- 进入主从两数据库目录的data目录下,修改auto.cnf文件,把两个uuid改的不一样就行,这里,我是把最后一位的数字进行了修改。然后重启主从数据库两个服务。
- 给主库赋予主从复制的权限:
GRANT REPLICATION SLAVE ON *.* TO ‘root’@‘%’ IDENTIFIED BY ‘root’;
- 然后刷新权限
FLUSH PRIVILEGES;
- 然后查看主库的确认位点,下图中的File和Position要记住,后面从库配置时候要用到:
show master status;
- 打开从库的命令窗口,依次输入以下命令:先停止同步:STOP SLAVE;
- 然后配置从库指向到主库,使用上一步记录的文件名File以及位点Position:
CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000002′,MASTER_LOG_POS=1178,MASTER_HOST=’localhost’,MASTER_USER=’root’,MASTER_PASSWORD=”,MASTER_PORT=
3306;
- 然后开启同步:START SLAVE;
- 然后查看从库的同步状态:show slave status;
- Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查error_log。
- PS:如果之前此从库已有主库指向 需要先执行以下命令清空:
STOP SLAVE IO_THREAD FOR CHANNEL ”;
reset slave all;
- 这样就完成了MySQL数据库主从复制的配置了,当你在主库中对db_user数据库中的表修改数据时候,从库中db_user数据库对应表中的数据也会跟着变化了。
原文引自:https://blog.csdn.net/dgfdhgghd/article/details/128427294
视频地址:https://www.bilibili.com/video/BV1RA411X7Wn/?spm_id_from=333.976.header_right.history_list.click&vd_source=e5b1276906531fd44314e30f82757c91
评论
评论已关闭!