[MySQL]ProxySQL之安装与配置

时间 作者 更新日志
20190414 DannisTang 创建文章,以后慢慢填坑

〇、前言

*请支持原创,认准DannisTang([email protected]

感谢ProxySQL创始人René Cannaò工程师,以及他的[网站](https://proxysql.com)

VMware上安装CentOS 7.2请查看文章
CentOS 7.2上安装MySQL请查看文章
MySQL主从复制请查看文章

单台MySQL服务器在用户量开始增大的时候,就会出现压力过大的情况,这个时候可以使用代理,一个中间件—ProxySQL来分离读写的压力。
使用两台MySQL服务器进行主从复制之后,再使用中间件ProxySQL进行“读写分离”,数据写入主服务器,但是读的动作就可以使用从服务器,从而达到分离压力的目的

一、物理架构


我使用了虚拟机搭建了如下的服务器架构,使用三台虚拟机即可

服务器地址 服务器中文名称 服务器主机名 服务器备注
192.168.178.128 主数据库服务器 mysql01 主MySQL数据库服务器
192.168.178.129 从数据库服务器 mysql02 从MySQL数据库服务器
192.168.178.130 代理服务器 mysql03 安装了ProxySQL服务器(同样也需要安装同版本的服务器)

整个读写分离的逻辑架构如下:

代理服务器 主数据库服务器 从数据库服务器 写操作1:请求写入 写操作2: 进行写入数据操作 写操作3:读取主库的二进制日志 写操作4: 读取日志后进行主从复制 读操作1:请求读取 读操作2:进行 读取数据的操作 读操作3:返回数据 代理服务器 主数据库服务器 从数据库服务器

二、软件版本


为了方便,我三台机器装的都是同样的操作系统和同样的MySQL版本

1、操作系统版本

我使用了CentOS 7.2版本的操作系统。
ssh会话如下:

[root@mysql01 binlogs]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) 
[root@mysql01 binlogs]# cat /proc/version      
Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015
[root@mysql01 binlogs]# uname -a               
Linux mysql01 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

2、MySQL数据库版本

我使用了MySQL 8.0数据库版本,但是因为是MySQL的大版本(较多人使用5.6或是5.7的版本),所以因为MySQL 8.0一个新特性-密码验证的问题,后面在使用ProxySQL的时候,需要加上一个参数,这个会在后面讲到。
ssh会话如下:

//先以root用户登录到mysql中
[root@mysql01 binlogs]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 891
Server version: 8.0.12 MySQL Community Server - GPL

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

//查看mysql的版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.01 sec)

mysql> 

3、ProxySQL版本

ProxySQL使用的时候1.4.9的版本。依然记得当时我研究MySQL代理是选择了研究两个中间件——ProxySQL和MySQL Proxy。研究了大概十五天,在这15天的时间内,ProxySQL就发布了新版本1.4.12,由此可见,即使是开源软件,但是也是有经常维护更新的。

//这条命令是登陆到ProxySQL管理端的命令,后续会详细讲解到
[root@mysql03 ~]# mysql -uadmin -padmin -h127.0.0.1 -P6032  --default-auth=mysql_native_password
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.30 (ProxySQL Admin Module)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

//在ProxySQL中的查看当前版本的命令
mysql> select version();
+-------------------+
| version()         |
+-------------------+
| 1.4.9-percona-1.1 |
+-------------------+
1 row in set (0.00 sec)

mysql> 

三、下载与安装

**请支持原创,认准DannisTang([email protected])**

在了解系统和MySQL的版本之后,可以从网上下载ProxySQL-官方下载网址,也可以用后文中的百度云盘链接。

五、配置


六、总结


七、下载链接


[MySQL]ProxySQL之安装与配置_第1张图片

你可能感兴趣的:(MySQL)