MySql數(shù)據(jù)庫讀寫分離部署及配置詳細(xì)手冊
一、版本說明
序號
名稱
版本
1
mysql
5.7.32
2
maxscale
2.5.15
建議在新環(huán)境實(shí)施
二、 MySql安裝
刪除系統(tǒng)自帶mariaDB舊包查看已經(jīng)安裝的rpm包
rpm -qa | grep -i mariadb
2. 根據(jù)查詢結(jié)果,刪除已經(jīng)安裝的舊包
rpm -e rpm舊包名稱
查看是否有mariaDB遺留配置文件或者文件目錄,如果有一并用 rm -rf 刪除
whereis mariadb
刪除系統(tǒng)已有MySql(如果此數(shù)據(jù)庫已正在使用請卸載前備份)
查看已經(jīng)安裝的rpm包
rpm -qa | grep -i mysql
2. 根據(jù)查詢結(jié)果,刪除已經(jīng)安裝的舊包
rpm -e rpm舊包名稱
查看是否有MySql遺留配置文件或者文件目錄,如果有一并用 rm -rf 刪除
whereis mysql
安裝MySql數(shù)據(jù)庫
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
修改初始密碼及授權(quán)遠(yuǎn)程訪問
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
在主數(shù)據(jù)庫添加主從同步賬號
mysql> GRANT all privileges ON *.* TO 'slave'@'%' IDENTIFIED BY 'CM@Mysql201' WITH GRANT OPTION; mysql> flush privileges; mysql> quit
修改主數(shù)據(jù)庫配置文件
默認(rèn)MySql配置文件路徑 /etc/my.cnf主要參數(shù)修改如下
# 指定全局唯一服務(wù)器ID,ID范圍1~65536的任意一個值,但不能重復(fù) server-id = 1 log-bin = mysql-bin binlog-ignore-db = information_schema binlog-ignore-db = performance_schema binlog_ignore_db = sys binlog_format = ROW
修改從數(shù)據(jù)庫配置文件
默認(rèn)MySql配置文件路徑 /etc/my.cnf
# 指定全局唯一服務(wù)器ID,ID范圍1~65536的任意一個值,但不能重復(fù) server-id =2 read-only=ON log-bin=bin-log
查看主數(shù)據(jù)庫狀態(tài)
show master status;
顯示類似如下結(jié)果,主要注意File、Position參數(shù)值,后面做同步的時候會用到
在從服務(wù)器配置主服務(wù)器
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;
通過語句查看從數(shù)據(jù)庫狀態(tài)
mysql> show slave status;
顯示類似如下信息則說明設(shè)置完成
三、讀寫中間件安裝
到官方網(wǎng)站對應(yīng)的版本或者到我整理的網(wǎng)盤下載部署的包文件
鏈接:https://pan.baidu.com/s/13uCN6y49eB-6XPg9cPymgw
提取碼:zvyd
把下載的文件上傳到服務(wù)器相應(yīng)的文件目錄,如:/opt/package
執(zhí)行安裝命令
sudo rpm -ivh maxscale-2.5.15-1.rhel.7.x86_64.rpm
修改配置文件參數(shù),主要修改存儲路徑、訪問端口號、及內(nèi)存大小限制默認(rèn)maxscale.cnf路徑/etc/maxscale.cnf主要參數(shù)修改如下,注意把服務(wù)器、賬號信息配置為前面創(chuàng)建的賬號
[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 # 提供讀寫分離服務(wù)端口號 [Read-Write-Listener] type=listener service=Read-Write-Service protocol=MySQLClient address=0.0.0.0 port=4006
啟動maxscale,常用命令# 啟動maxscale服務(wù) systemctl start maxscale.service # 停止maxscale服務(wù) systemctl stop maxscale.service # 查看maxscale服務(wù)狀態(tài) systemctl status maxscale.service # 查看MySql服務(wù)列表 maxctrl list servers
在主服務(wù)器上創(chuàng)建一個鏈接賬號如
researchGRANT ALL PRIVILEGES ON *.* TO 'research'@'%' IDENTIFIED BY 'CM@Mysql201' WITH GRANT OPTION; flush privileges;
鏈接中間件跟Mysql類似,端口號為監(jiān)聽設(shè)置的端口號
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
七、注意事項
在部署數(shù)據(jù)庫主從時,要注意數(shù)據(jù)的備份及不影響正常的業(yè)務(wù)
排版對Markdown支持并不好,我已經(jīng)轉(zhuǎn)成PDF格式,需要的下載就可以了,喜歡的條友記得關(guān)注我哦
鏈接:
https://pan.baidu.com/s/11wNJL-1-5DNvFQAUyGfeew
提取碼:6766
MySQL 數(shù)據(jù)庫
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。