概念
基本的原理:主数据库处理事务性操作(INSERT、UPDATE、DELETE),从数据库处理SELECT查询操作,通过主数据库的数据库复制,将事务性操作导致的变更同步到集群中的从数据库。
为什么使用读写分离
提高查询效率:数据库的“写”操作比较耗时,而“读”操作相对较快,通过读写分离,可以改善查询的效率。
(图片来源网络,侵删)
减轻服务器压力:将读取操作分散到多个从服务器,从而减轻主服务器的压力。
操作步骤
环境准备
主服务器(master)配置
IP地址:192.168.1.1
数据库用户:root,密码:123456
(图片来源网络,侵删)
从服务器(slave)配置
IP地址:192.168.1.2
数据库用户:root,密码:111111
主服务器配置
修改配置文件
(图片来源网络,侵删)
vi /etc/my.cnf [mysqld] log-bin=mysql-bin; #【必须】启动二进制日志 server-id=1; #【必须】服务器唯一ID,可以取IP的最后数字 innodb-file-per-table=on skip_name_resolve=on
重启MySQL服务
service mysqld restart
查看日志信息
SHOW MASTER STATUS;
创建复制用户并授权
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY '123456'; FLUSH PRIVILEGES;
从服务器配置
修改配置文件
vi /etc/my.cnf [mysqld] relay-log=relay-log relay-log-index=relay-log.index server-id=2 innodb_file_per_table=ON skip_name_resolve=ON
重启MySQL服务
service mysqld restart
查看日志信息
SHOW SLAVE STATUSG;
配置从服务器连接主服务器
CHANGE MASTER TO MASTER_HOST='192.168.1.1', MASTER_USER='root', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=225143; START SLAVE;
测试主从复制
在主服务器上创建一个数据库
CREATE DATABASE testdb;
在从服务器上查询该数据库
USE testdb;
工具与中间件
MySQL Proxy:MySQL官方提供的代理工具,可以实现读写分离和负载均衡。
ProxySQL:一个高性能的MySQL中间件,支持多种方式的读写分离和查询结果缓存。
通过上述步骤,可以在Linux环境下实现MySQL的读写分离,从而提高数据库的查询效率和减轻服务器压力,可以使用MySQL Proxy或ProxySQL等中间件来实现更复杂的读写分离需求。
以上内容就是解答有关mysql读写分离linux的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/78395.html