免安装版MySql-5.6.41读写隔离配置

使用场景

在高并发场景中涉及到数据库频繁查询和插入、修改数据时,若不做读写隔离,单服务器上的数据库负载过大,由于频繁的连接数据库,频繁地释放连接资源,导致执行效率缓慢。为了给数据库减压,我们需要为数据库做负载,此时只需要做读写隔离即可,不涉及分库分表。

设备环境

需要至少两台安装MySql-5.6.41的MySql数据库的服务器,一台做主数据库,主要负责写操作,另一台做从数据库,主要负责读操作。
Master系统环境:Windows 10、MySql-5.6.41的MySql数据库、Ip地址:192.168.199.106
Slave 系统环境:Windows 10、MySql-5.6.41的MySql数据库、Ip地址:192.168.199.134

读写隔离条件

依赖于log_bin日志进行主从数据库数据同步,在配置my.ini配置中开启log_bin日志时要检查是否能正常开启log_bin日志,如果未开启log_bin日志,应当先开启然后再进行以下步骤配置(非常重要),否则读写隔离配置不成功,可查看文章进行log_bin日志开启:
https://my.oschina.net/u/4061880/blog/2997297
一、Master配置:修改Master服务器Mysql的my.ini配置
  • 1、新加入配置
	# 开启log_bin日志;mysql-bin为日志的名称,可自定义
	log_bin= mysql-bin
	#需要备份的数据库,多个使用英文逗号隔开
	binlog_do_db=ad
	#不需要备份的数据库,多个使用英文逗号隔开
	binlog_ignore_db=mysql
	#服务Id,不可与其他service重复
	server_id = 1

注意:binlog_do_db用于指定需要同步的数据库,binlog_ignore_db指定不需要同步的数据库,如果这两个参数都不设置,则从服务器会复制主服务器的所有数据库。

  • 2、保存退出,重启master MySQL主服务器
	关闭mysql服务: net stop mysql
	开启mysql服务: net start mysql
  • 3、创建连接master的用户名和密码
使用管理员打开cmd 命令行模式,切换到mysql的bin目录。
	3.1、创建用户:
	create user 'root'@'192.168.199.134' identified by '123456';   其中root是用于slave连接master的账户,192.168.199.134是slave的ip,123456是创建连接的密码,密码可自定义。
	3.2、授予权限:grant replication slave on *.* to 'root'@'192.168.199.134' identified by 
'123456';
	3.3、刷新权限:flush privileges; 也可重启Mysql服务
  • 4、查看master的状态:mysql> show master status;

master主数据库配置已完成;需要记住 File的值和Position的值,配置Slave数据库时需要用到!!!!


二、Slave配置:修改Slave服务器Mysql的my.ini配置
  • 1、新加入配置
	#与其他service不重复
	server_id = 2 
	#同步Master的数据库到Slave的哪一个数据库
	replicate-do-db=ad
  • 2、重启slave mysql从服务器
	关闭mysql服务: net stop mysql
	开启mysql服务: net start mysql
  • 3、进入slave mysql
	3.1、执行 stop slave 禁用slave
	3.2、执行 change master to master_host=' 192.168.199.106',master_user='root',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=120;
	[注意:	1、其中 master_host 是主数据库IP
		2、master_user 是主数据库中在mysql库的user表中加入的允许slave从数据库用于访问master数据库的用户名
		3、master_password 是主数据库中在mysql库的user表中加入的允许slave从数据库用于访问master数据库的密码
		4、master_port 是主数据库暴露给slave数据库的端口(如果slave数据库连不上master数据库。就要在主数据服务器防火墙中开放端口)
		5、master_log_file 是主数据库 执行 show master status后得到的file标识文件名。是配置log-bin后生成的中间日志文件。用于主从复制
		6、master_log_pos 是主数据库 执行 show master status后得到的position文件标识位。用于主从复制]
	3.3、执行 start slave 启用slave
  • 4、查看slave的状态:mysql> show slave status;

查看 Slave_IO_Running = Yes;Slave_SQL_Running=Yes 两者是否都等于Yes。则表示主从复制搭建成功。如果Slave_IO_Running = Connecting则说明master得3306端口未开放。需在master服务器的防火墙中配置。

	4.1、如果Slave_IO_Running 的值一直为connecting则说明master的端口可能被屏蔽了,需要打开端口。如果主master的端口是不能被外网访问的话,slave是连不上的。因此需要将master的端口暴露给slave访问。
	4.2、开启3306端口
进入控制面板-系统和安全-Windows防火墙。选择左边栏的高级设置。

然后点入站规则

进入入站规则后点击右边新建规则

选择要创建的防火墙的类型,这里选择端口

填写端口3306

允许连接

最后随便填写一个规则名称就完成了。

转载于:https://my.oschina.net/u/4061880/blog/2997313

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值