Mysql 主从同步,读写分离,中间件使用记录

浏览:298次阅读
没有评论

Mysql 主从同步,读写分离,中间件使用记录

本文将介绍如何配置 Mysql 主从同步和读写分离,并使用中间件 ProxySQL 来实现更高效的数据库访问。

服务器信息

Mysql

  • 主服务器(A):192.168.1.1
  • 备服务器(B):192.168.1.2
  • 备服务器(C):192.168.1.3

中间件

  • 中间件服务器(D):192.168.1.4

Mysql 主从同步,读写分离配置

主数据库配置

在主服务器(A)上执行以下命令:

# 创建从服务器访问账号
grant replication slave on *.* to 'slave'@'%' identified by '123456';

# 查看主服务器状态
mysql> show master status;
+------------------+-----------+--------------+------------------+-------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+-----------+--------------+------------------+-------------------+
| mysql-bin.000006 | 438       |              |                  |                   |
+------------------+-----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

从服务器配置

在从服务器上执行以下命令:

# 停止从服务器
stop slave;

# 配置主服务器信息
change master to master_host='192.168.1.1', master_user='slave', master_password='123456', master_log_file='mysql-bin.000006', master_log_pos=438;

# 启动从服务器
start slave;

# 查看从服务器状态
show slave status\G;

如果从服务器状态显示如下内容,则表示启动成功:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

ProxySQL 配置

安装

  1. 前往 [https://github.com/sysown/proxysql/releases] 下载 ProxySQL 安装包。
  2. 将安装包上传到服务器,并执行以下命令进行安装:
yum -y localinstall proxysql-2.5.5-1-centos7.x86_64.rpm

验证安装状态

执行以下命令验证 ProxySQL 安装状态:

proxysql -V
ProxySQL version 2.5.5-10-g195bd70, codename Truls

启动服务

执行以下命令启动 ProxySQL 服务:

systemctl start proxysql.service

进入 ProxySQL 本地服务器

执行以下命令进入 ProxySQL 本地服务器:

mysql -uadmin -padmin -h127.0.0.1 -P6032 --prompt='Admin> ' --default-auth=mysql_native_password

添加主从服务器

在 ProxySQL 本地服务器中执行以下命令,添加主从服务器:

insert into mysql_servers(hostgroup_id, hostname, port, weight, comment) values(1, '192.168.1.1', 3306, 1, ' 主库 ');
insert into mysql_servers(hostgroup_id, hostname, port, weight, comment) values(2, '192.168.1.2', 3306, 5, ' 从库 1 ');
insert into mysql_servers(hostgroup_id, hostname, port, weight, comment) values(2, '192.168.1.3', 3306, 5, ' 从库 2 ');

添加主从账号(ProxySQL)

在 ProxySQL 本地服务器中执行以下命令,添加主从账号:

insert into mysql_users(username, password, default_hostgroup, transaction_persistent) values('proxysql', '123456', 1, 1);

添加规则路由

在 ProxySQL 本地服务器中执行以下命令,添加规则路由:

insert into mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, log, apply) values(1, 1, '^UPDATE', 1, 1, 1);
insert into mysql_query_rules(rule_id, active, match_pattern, destination_hostgroup, log, apply) values(2, 1, '^SELECT', 2, 1, 1);

查询连接状态和命中情况

在 ProxySQL 本地服务器中执行以下命令,查询连接状态和命中情况:

SELECT * FROM monitor.mysql_server_connect_log ORDER BY time_start_us DESC LIMIT 10;
select * from stats_mysql_query_rules;
select * from stats_mysql_query_digest;

通过以上配置和命令,您可以实现 Mysql 主从同步和读写分离,并使用 ProxySQL 中间件来优化数据库访问。其他用户可以从这篇文章中学习并了解如何配置和使用这些功能。

正文完
 0
包子
版权声明:本站原创文章,由 包子 于2024-01-22发表,共计2597字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)