mysql主从库与读写分离

mysql主从库与读写分离,第1张

一.mysql主从库与读写分离的实现理论

二.mysql配置

1.准备两台服务器安装mysql(也可以在一台中装两个mysql修改端口号避免冲突)

2.分别连接mysql

3.配置mysql

1.配置主库 monster

打开binary log

2.配置从库

主库授权

账号repl后面的是从库的ip地址 mysql是账号repl的密码

刷新

后面master_log_pos=0 表示从零开始同步 master_log_file 是上面SHOW MASTER STATUS 下面的file文件

在从库中开启主从跟踪

查看从库状态

从库中终止主从同步 stop slave

查看 my.cnf 文件 把 server -id=1 的字段删除 保留server-id=2 修改后保存 重启mysql 重新连接 开启主从同步start slave

查看从库状态 发现没有错误 到此主从同步配置已经完成.

转发到后端从库 读取。实现 主库负责--写入,从库负责--读取。

注意:Proxy其实不是一台机器,只是一个连接方式,读取数据的时候自动从Salve上取,写数据则自动向Master中写。

实验前先做好 主从架构

主---192.168.1.252 (mysql-5.7 ,三台版本一致)

从---192.168.1.101

proxy---192.168.1.102

vim /etc/mysql-proxy.cnf

内容如下:

注意:(在服务器上配置文件要把注释都去掉,不然会报错。)

保存退出。赋予660权限,不然会报错。

3.##修改读写配置文件

关闭可以用killall -9 mysql-proxy 或者kill -9 ID

在主执行:(事先做好主从架构,从库会自动吧这个 *** 作更新过去,或者在手动去从库也执行一遍)

使用客户端去链接mysql-proxy(1.102)(开2个以上客户端链接)

接下来,测试数据。(主从都开启时,先添加一条数据)

此时如果停掉slave,在添加数据

stop slave

发现并没有刚才添加的id为2的这条数据。

因为此时slave已经停掉了,没有负责给我们提供查询 *** 作的服务了,所以查不到了。刚才可以写入,也是意味着 写入 *** 作是有 master来完成的。

这时恢复slave,再查询

start slave

这时2已经有了,恢复了slave后,先主从通信同步了刚才的数据,再继续提供查询 *** 作。

到此,读写分离完成。

参考:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8620852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存