数据库读写分离部署配置操作手册

网友投稿 722 2022-05-25

一、版本说明

建议在新环境实施

二、 MySql安装

删除系统自带mariaDB旧包

查看已经安装的rpm包

rpm -qa | grep -i mariadb

2. 根据查询结果,删除已经安装的旧包

rpm -e rpm旧包名称

查看是否有mariaDB遗留配置文件或者文件目录,如果有一并用 rm -rf 删除

whereis mariadb

删除系统已有MySql(如果此数据库已正在使用请卸载前备份)

查看已经安装的rpm包

rpm -qa | grep -i mysql

2. 根据查询结果,删除已经安装的旧包

rpm -e rpm旧包名称

查看是否有MySql遗留配置文件或者文件目录,如果有一并用 rm -rf 删除

whereis mysql

安装MySql数据库

rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm

查看初始密码

grep "password" /var/log/mysqld.log| more

修改初始密码及授权远程访问

mysql -uroot -p mysql> use mysql mysql> flush privileges; mysql> grant all privileges on *.* to 'root'@'%' identified by 'CM@Mysql201' with grant option; mysql> flush privileges; mysql> quit

在主数据库添加主从同步账号

mysql> GRANT all privileges ON *.* TO 'slave'@'%' IDENTIFIED BY 'CM@Mysql201' WITH GRANT OPTION; mysql> flush privileges; mysql> quit

修改主数据库配置文件

默认MySql配置文件路径 /etc/my.cnf

主要参数修改如下

# 指定全局唯一服务器ID,ID范围1~65536的任意一个值,但不能重复 server-id = 1 log-bin = mysql-bin binlog-ignore-db = information_schema binlog-ignore-db = performance_schema binlog_ignore_db = sys binlog_format = ROW

修改从数据库配置文件

默认MySql配置文件路径 /etc/my.cnf

# 指定全局唯一服务器ID,ID范围1~65536的任意一个值,但不能重复 server-id =2 read-only=ON log-bin=bin-log

查看主数据库状态

show master status;

显示类似如下结果,主要注意File、Position参数值,后面做同步的时候会用到

在从服务器配置主服务器

change master to master_host='10.134.29.201',master_user='slave',master_password='CM@Mysql201',master_log_file='mysql-bin.000004',master_log_pos=953283316;

然后启动slave

start slave;

通过语句查看从数据库状态

mysql> show slave status;

显示类似如下信息则说明设置完成

三、读写中间件安装

到官方网站对应的版本或者到我整理的网盘下载部署的包文件

链接:https://pan.baidu.com/s/13uCN6y49eB-6XPg9cPymgw 提取码:zvyd

把下载的文件上传到服务器相应的文件目录,如:/opt/package

执行安装命令

sudo rpm -ivh maxscale-2.5.15-1.rhel.7.x86_64.rpm

修改配置文件参数,主要修改存储路径、访问端口号、及内存大小限制

默认maxscale.cnf路径

/etc/maxscale.cnf

主要参数修改如下,注意把服务器、账号信息配置为前面创建的账号

[maxscale] threads=auto admin_host=0.0.0.0 admin_secure_gui=false [server1] type=server address=10.134.29.201 port=3306 protocol=MySQLBackend [server2] type=server address=10.114.30.72 port=3306 protocol=MySQLBackend [MariaDB-Monitor] type=monitor module=mysqlmon servers=server1,server2 user=slave password=CM@Mysql201 monitor_interval=2000 [Read-Write-Service] type=service router=readwritesplit router_options=master,slave servers=server1,server2 user=slave password=CM@Mysql201 # 提供读写分离服务端口号 [Read-Write-Listener] type=listener service=Read-Write-Service protocol=MySQLClient address=0.0.0.0 port=4006

启动maxscale,常用命令

# 启动maxscale服务 systemctl start maxscale.service # 停止maxscale服务 systemctl stop maxscale.service # 查看maxscale服务状态 systemctl status maxscale.service # 查看MySql服务列表 maxctrl list servers

在主服务器上创建一个链接账号如research

GRANT ALL PRIVILEGES ON *.* TO 'research'@'%' IDENTIFIED BY 'CM@Mysql201' WITH GRANT OPTION; flush privileges;

数据库读写分离部署及配置操作手册

链接中间件跟Mysql类似,端口号为监听设置的端口号

mysql -uresearch -p'CM@Mysql201' -h'172.16.1.51' -P4006

六、程序配置

修改项目的application.properties配置文件,把链接改成代理的地址配置如下

spring.datasource.druid.url=jdbc:mysql://10.114.30.72:4006/iacl_cmp?characterEncoding=utf8&serverTimezone=Asia/Shanghai spring.datasource.druid.username=research spring.datasource.druid.password=CM@Mysql201

七、注意事项

在部署数据库主从时,要注意数据的备份及不影响正常的业务

附件: 数据库读写分离部署及配置手册.pdf 187.62KB 下载次数:1次

MySQL 数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【精选单品】纷享销客CRM,助力企业高效获客,让业务管理更简单!
下一篇://usr/lib/libgdal.so.20:对‘mysql_store_result@libmysqlclient_20.0
相关文章