龙空技术网

MySql数据库读写分离部署及配置详细手册

架构师聊技术 283

前言:

目前同学们对“mysql数据库配置文件路径”可能比较着重,姐妹们都需要剖析一些“mysql数据库配置文件路径”的相关文章。那么小编也在网摘上网罗了一些关于“mysql数据库配置文件路径””的相关文章,希望朋友们能喜欢,兄弟们快快来了解一下吧!

项目的性能一直是开发除业务外比较注重的一个话题,其中数据库的读写分离也是提高性能的主要手段,该手册也是给真实客户项目实施的手册,其它数据库也可以做参考,原理都相差不会大,应该是比较详情的操作步骤了,如果有问题可以留言交流,或者给我发私信也可以。

如果条友喜欢,还请给个关注

一、版本说明

序号

名称

版本

1

mysql

5.7.32

2

maxscale

2.5.15

建议在新环境实施二、 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.rpmrpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm
查看初始密码
grep "password" /var/log/mysqld.log| more
修改初始密码及授权远程访问
mysql -uroot -pmysql> use mysqlmysql> 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 = 1log-bin = mysql-binbinlog-ignore-db = information_schemabinlog-ignore-db = performance_schemabinlog_ignore_db = sysbinlog_format = ROW
修改从数据库配置文件默认MySql配置文件路径 /etc/my.cnf
# 指定全局唯一服务器ID,ID范围1~65536的任意一个值,但不能重复server-id =2read-only=ONlog-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=autoadmin_host=0.0.0.0admin_secure_gui=false[server1]type=serveraddress=10.134.29.201port=3306protocol=MySQLBackend[server2]type=serveraddress=10.114.30.72port=3306protocol=MySQLBackend[MariaDB-Monitor]type=monitormodule=mysqlmonservers=server1,server2user=slavepassword=CM@Mysql201monitor_interval=2000[Read-Write-Service]type=servicerouter=readwritesplitrouter_options=master,slaveservers=server1,server2user=slavepassword=CM@Mysql201# 提供读写分离服务端口号[Read-Write-Listener]type=listenerservice=Read-Write-Serviceprotocol=MySQLClientaddress=0.0.0.0port=4006
启动maxscale,常用命令# 启动maxscale服务systemctl start maxscale.service# 停止maxscale服务systemctl stop maxscale.service# 查看maxscale服务状态systemctl status maxscale.service# 查看MySql服务列表maxctrl list servers
在主服务器上创建一个链接账号如
researchGRANT 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/Shanghaispring.datasource.druid.username=researchspring.datasource.druid.password=CM@Mysql201
七、注意事项在部署数据库主从时,要注意数据的备份及不影响正常的业务头条的排版对Markdown支持并不好,我已经转成PDF格式,需要的下载就可以了,喜欢的条友记得关注我哦

链接:

提取码:6766

标签: #mysql数据库配置文件路径