MySQL主从配置高可用

数据库主从配置高可用

两个mysql数据库同步

一、数据库主从配置

1、编写二进制日志文件

1.1主库配置
vim /etc/my.cnf
进入my.cnf文件后,添加配置
server-id=1
log-bin=mysql-bin
修改完后,保存退出,重启数据库,去MySQL目录下查询是否生成mysql-bin.index和mysql-bin.000001文件

在这里插入图片描述

副库与主库一样配置,server-id不一样即可	     
1.2配置主从关系
在主库输入,记录主库的file和Position
SHOW MASTER STATUS;
在副库输入
CHANGE MASTER TO MASTER_HOST ="主库的地址",
MASTER_PORT=主库的端口,
MASTER_USER="主库的账号",
MASTER_PASSWORD="主库的密码",
MASTER_LOG_FILE="主库的file",
MASTER_LOG_POS=主库的logpos;
执行之后,输入如下命令,开启同步,出现两个yes表示成功
START SLAVE;
SHOW SLAVE STATUS;

在这里插入图片描述

关闭同步:
stop SLAVE;
1.3主从测试
在主数据库创建数据库,副数据库也会出现新建的数据库

二、数据库的高可用(HA)

当向从库写操作时,主库无法同步,主从配置将失效,所以设置数据库代理,用户访问的是代理,不再直接访问数据库

1、mycat

1.1、server.xml
<!--用户标签-->
	<user name="root">
		<property name="password">root</property>
		<!--与schema.xml中的配置相同 注意数据库的大小写,如果想要连接多个数据库,使用,隔开-->
			<!--<property name="schemas">jtdb,db1,db2</property>-->
		
		<property name="schemas">xxxx</property>
	</user>
1.2、schemas.xml
该文件表示代理与数据库的配置HOST:POST:用户名:密码:数据库的名称	
<writeHost host="hostM2" url="" user="root" password="root">	
	<readHost host="hostS1" url="" user="root" password="root" />
	<readHost host="hostS2" url="" user="root" password="root" />
</writeHost>
1.3、上传安装文件

在这里插入图片描述

1.4、启动mycat
mycat的bin目录下 使用./mycat start

在这里插入图片描述

1.5、负载均衡测试
手动修改从库数据,效果:导致主从库数据不一致
多次刷新页面,会显示不同数据
1.6、实现数据库的双机热备
实现数据库的高可用的前提是实现主从备份
将两个数据库配置成互为主从
更改schema.xml文件,添加第二台主机
<writeHost host="hostM2" url="" user="root" password="root">	
	<readHost host="hostS1" url="" user="root" password="root" />
	<readHost host="hostS2" url="" user="root" password="root" />
</writeHost>
1.7、高可用测试
宕机一个数据库,启动程序,通过数据库代理检查是否正确访问,入库是否正常
重启宕机的数据库,看数据是否同步

下一步:Redis

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值