mysql主从同步配置-Windows版

1. 为了能在一台电脑上(本机)演示出主从架构,复制本机原有mysql一份,例如:复制D:\mysql-
5.7.25(作为主库) 到 D:\mysql-5.7.25-s1(作为从库), 修改主、从库的配置文件(my.ini)

主库配置:

[mysql]
	# 设置mysql客户端默认字符集
	default-character-set=utf8 
	
[mysqld]
	#过滤密码,设置密码后将其注释
	#skip-grant-tables
	#设置3306端口
	port = 3307 
	# 设置mysql的安装目录
	basedir=D:\java\mysql\mysql-5.7.27-winx64-m1
	# 设置mysql数据库的数据的存放目录
	datadir=D:\java\mysql\mysql-5.7.27-winx64-m1\data
	# 允许最大连接数
	max_connections=200
	# 服务端使用的字符集默认为UTF8
	character-set-server=utf8
	# 创建新表时将使用的默认存储引擎
	default-storage-engine=INNODB
	default-time_zone = '+8:00'
	
	#开启日志 
	log-bin = mysql-bin
	#设置服务id,主从不能一致 
	server-id = 1 
	#设置需要同步的数据库 
	binlog-do-db=store_db 
	binlog-do-db=product_db_1 
	binlog-do-db=product_db_2 
	
	#屏蔽系统库同步 
	binlog-ignore-db=mysql 
	binlog-ignore-db=information_schema 
	binlog-ignore-db=performance_schema

从库配置:

[mysql]
	# 设置mysql客户端默认字符集
	default-character-set=utf8 
	
[mysqld]
	#过滤密码,设置密码后将其注释
	#skip-grant-tables
	#设置3308端口
	port = 3308 
	# 设置mysql的安装目录
	basedir=D:\java\mysql\mysql-5.7.27-winx64-s1
	# 设置mysql数据库的数据的存放目录(该目录不一定在mysql安装目录下)
	datadir=D:\java\mysql\mysql-5.7.27-winx64-s1\data
	# 允许最大连接数
	max_connections=200
	# 服务端使用的字符集默认为UTF8
	character-set-server=utf8
	# 创建新表时将使用的默认存储引擎
	default-storage-engine=INNODB
	default-time_zone = '+8:00'
	
	#开启日志 
	log-bin = mysql-bin 
	#设置服务id,主从不能一样 
	server-id = 2 
	#设置需要同步的数据库 
	replicate_wild_do_table=store_db.% 
	replicate_wild_do_table=product_db_1.% 
	replicate_wild_do_table=product_db_2.% 
	
	#屏蔽系统库同步 
	replicate_wild_ignore_table=mysql.% 
	replicate_wild_ignore_table=information_schema.% 
	replicate_wild_ignore_table=performance_schema.%

然后在命令行窗口(以管理员身份运行)中将从库安装为windows服务,注意配置文件位置:

D:\mysql-5.7.25-s1\bin> mysqld install mysqls1 --defaults-file="D:\mysql-5.7.25- s1\my.ini"

由于从库是从主库复制过来的,因此里面的数据完全一致,可使用原来的账号、密码登录, 现在重启主
库和从库。
请注意,从库数据(data)目录下有个文件auto.cnf,也要与主库不一样,建议直接删除掉,重启服务后
将会重新生成。

2. 授权主从复制专用账号

#切换至主库bin目录,登录主库 
mysql -h localhost -uroot -p123 

#授权主从复制专用账号 
GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%' IDENTIFIED BY 'db_sync'; 

#刷新权限 
FLUSH PRIVILEGES; 

#确认位点 记录下文件名以及位点 
show master status;

在这里插入图片描述
3. 设置从库向主库同步数据、并检查链路

#切换至从库bin目录,登录从库 
mysql -h localhost -P3307 -uroot -p123

#修改从库指向到主库,使用上一步记录的文件名以及位点,注意端口号
CHANGE MASTER TO master_host = 'localhost', master_port = 3307, master_user = 'db_sync', 
master_password = 'db_sync', master_log_file = 'mysql-bin.000005', master_log_pos = 154;

#执行该命令前,一定要重启主库和从库服务
show slave status\G

#执行该命令后,确认Slave_IO_Runing以及Slave_SQL_Runing两个状态位是否为“Yes”,如果不为 Yes,
请检查error_log,然后排查相关异常。

#注意:如果之前此从库已有主库指向,需要先执行以下命令清空
STOP SLAVE IO_THREAD FOR CHANNEL '';
reset slave all;

#停止slave命令
STOP slave;

#配置失败的情况下,使用上边的命令清空之前的配置,再停止slave,重启主从数据库服务就好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值