中间件代理MySQL
MyCat
安装MyCat
介绍:
Mycat是一个开源的数据库中间件,用于提供高可用性、负载均衡和分片能力。
步骤1:安装Java环境
首先,您需要在服务器上安装Java环境。打开终端,运行以下命令:
sudo yum install java-1.8.0-openjdk-devel
步骤2:下载并解压Mycat
- 在Mycat官方网站下载最新版本的Mycat压缩包,网址:Mycat官方网站或直接在服务器上使用
wget
命令下载:
# 下载Mycat压缩包
wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip
- 在终端中进入您下载的目录,运行以下命令解压文件:
tar -zxvf mycat2-install-template-1.21.zip
在使用tar
解压时可能会出现下面错误,是因为文件中包含了多个压缩包:
解决方法:使用 unzip
或 p7zip
解压。
unzip mycat2-install-template-1.21.zip
步骤3:配置Mycat
- 进入解压后的Mycat目录:
cd mycat/lib/
- 下载依赖包或把下载好的依赖包复制到目录下:
# 直接下载依赖包
wget http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies.jar
# 复制
cp mycat2-1.21-release-jar-with-dependencies.jar mycat/lib/
- 编辑
conf
目录下的server.xml
配置文件:
vim mycat/conf/datasources/prototypeDs.datasource.json
- 将mysql连接配置成master数据库,需要修改的只有
url
、user
、password
:
{
"dbType":"mysql",
"idleTimeout":60000,
"initSqls":[],
"initSqlsGetConnection":true,
"instanceType":"READ_WRITE",
"maxCon":1000,
"maxConnectTimeout":3000,
"maxRetryCount":5,
"minCon":1,
"name":"prototypeDs",
"password":"Ddz@5201413",
"type":"JDBC",
"url":"jdbc:mysql://114.132.156.12:3306/ddz_test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
"user":"root",
"weight":0
}
输入:wq!
保存退出。
步骤4:启动Mycat
- 在
mycat/bin/
目录下使用以下命令启动Mycat服务器:
sh mycat start
可能会出现启动失败的情况:
原因是wrapper-linux-x86-64和wrapper-linux-x86-32这两个文件权限设置不正确。
# 查看文件权限
ls -l /home/mycat/bin/./wrapper-linux-x86-64
ls -l /home/mycat/bin/./wrapper-linux-x86-32
# 设置文件权限
chmod +x /home/mycat/bin/./wrapper-linux-x86-64
chmod +x /home/mycat/bin/./wrapper-linux-x86-32
或给/bin文件赋权限
chmod -R 777 bin/
设置完后进入mycat/bin/
目录执行启动命令:
cd mycat/bin/
./mycat start
- 确认Mycat顺利启动后,使用以下命令查看Myat进程是否正在运行:
ps -ef | grep mycat
步骤5:连接并测试Mycat
- 使用MySQL客户端连接到Mycat服务器,示例:
mysql -h114.132.156.12 -P8066 -uroot -p
- 输入密码后成功连接到Myat服务器,可以执行SQL语句进行测试。
结论:
通过按照以上步骤,在CentOS 7上成功安装和配置Mycat,并能够连接并测试Mycat服务器。这将为您的数据库管理提供高可用性、负载均衡和分片能力,提高数据库的效率和性能。
ProxySql
安装ProxySql
介绍:
ProxySQL是一个高性能的MySQL代理服务器,用于负载均衡、故障转移和查询过滤。在本篇博客中,我们将讲解如何在CentOS 7.9上安装和配置ProxySQL。
步骤1:更新系统
首先,使用以下命令更新系统上的所有软件包:
sudo yum update
步骤2:安装ProxySQL
添加ProxySQL的软件仓库:
sudo yum install -y https://github.com/sysown/proxysql/releases/download/v2.5.0/proxysql-2.5.0-1-centos7.x86_64.rpm
安装proxysql软件包:
sudo yum install proxysql
步骤3:配置ProxySQL
编辑ProxySQL配置文件:
sudo vi /etc/proxysql/proxysql.cnf
在mysql_servers
节中添加MySQL后端的详细信息:
mysql_servers =
(
{
address = '127.0.0.1',
port = 3306,
hostgroup = 10,
max_connections = 100,
max_replication_lag = 5,
use_ssl = 0
}
)
步骤4:启动ProxySQL
启动ProxySQL服务:
sudo systemctl start proxysql
sudo systemctl enable proxysql
步骤5:使用ProxySQL
连接到ProxySQL管理员命令行界面:
mysql -u admin -p -h 127.0.0.1 -P 6032 --prompt='ProxySQLAdmin>'
在ProxySQL管理员命令行界面上配置用户、主机和端口映射:
INSERT INTO mysql_users (username, password, default_hostgroup) VALUES ('user', 'password', 10);
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;
INSERT INTO mysql_servers (hostgroup_id, hostname, port) VALUES (10, '127.0.0.1', 3306);
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;
INSERT INTO mysql_query_rules (active, match_pattern, destination_hostgroup) VALUES (1, '^SELECT.*', 10);
LOAD MYSQL QUERY RULES TO RUNTIME;
SAVE MYSQL QUERY RULES TO DISK;
现在,您可以使用ProxySQL代理MySQL查询了。
结论:
在CentOS 7.9上安装ProxySQL代理MySQL是一个简单的过程,只需按照本文的步骤进行操作即可。使用ProxySQL可以提高MySQL服务器的负载均衡和故障转移能力,同时还能对查询进行过滤和重定向。