曾梦想仗剑走天涯,因太菜取消原计划
1.提前准备两个MySQL
2.复制原有 mysql 如:D:\MySQL-5.7(作为主库) -> D:\MySQL-5.7-salve(作为从库),并修改以下从库的 my.ini
[mysqld]
#设置3307端口
port = 3307
# 设置mysql的安装目录
basedir=D:\MySQL-5.7-salve
# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL-5.7-salve\data
3.然后将从库安装为 windows 服务,注意配置文件位置
D:\MySQL-5.7-salve\bin>mysqld install MySQL3307‐‐defaults‐file="D:\MySQL-5.7-salve\my.ini
# 删除服务命令
# sc delete MySQL3307
4.由于从库是从主库复制过来的,因此里面的数据完全一致,可使用原来的账号、密码登录。
5.最终主服务器和从服务器的信息如下
主服务器IP:127.0.0.1:3306
从服务器IP:127.0.0.1:3307
6.修改主、从表的配置信息
修改主表 my.ini
[mysqld]
#开启日志
log-bin=mysql‐bin
#设置服务id,主从不能一致
server‐id=1
#设置需要同步的数据库 不设置就是同步所有表
#binlog‐do‐db=test_db
#屏蔽系统库同步
binlog‐ignore‐db=mysql
binlog‐ignore‐db=information_schema
binlog‐ignore‐db=performance_schema
修改从表 my.ini
[mysqld]
#开启日志
log-bin=mysql‐bin
#设置服务id,主从不能一致
server‐id=2
#设置需要同步的数据库 不设置就是同步所有表
#replicate_wild_do_table=test_db.%
#屏蔽系统库同步
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
7.重启主库和从库服务
8.创建用于主从复制的账号
#切换至主库bin目录,登录主库
mysql ‐uroot ‐proot
#授权主备复制专用账号
GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%' IDENTIFIED BY 'db_sync';
#刷新权限
FLUSH PRIVILEGES;
#确认位点 记录下文件名以及位点
show master status;
9.设置从库向主库同步数据
#切换至从库bin目录,登录从库
mysql ‐P3307 ‐uroot ‐proot
#先停止同步
STOP SLAVE;
#修改从库指向到主库,使用上一步记录的文件名以及位点
CHANGE MASTER TO
master_host = '127.0.0.1',
master_user = 'db_sync',
master_password = 'db_sync',
master_log_file = 'mysql‐bin.000006',
master_log_pos = 440;
#启动同步
START SLAVE;
#查看从库状态Slave_IO_Runing和Slave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查error_log,然后排查相关异常。
show slave status
# 注意 如果之前此从库已有主库指向 需要先执行以下命令清空
# STOP SLAVE IO_THREAD FOR CHANNEL '';
# reset slave all;
10.如果最终执行结果如上所述那么就代表成功了