MySQL多實例的配置應(yīng)用實例場景
MySQL多實例
多實例概述
什么是多實例:
在一臺服務(wù)器上,運行多個數(shù)據(jù)庫服務(wù),這些服務(wù)進程通過不同的socket監(jiān)聽不同的服務(wù)端口來提供各自的服務(wù);
為什么要配置多實例
- 節(jié)約運維成本
- 提高硬件利用率
多實例的應(yīng)用場景
- 資金比較緊張的公司;
- 并發(fā)訪問不是特別大的業(yè)務(wù);
配置多實例
1.安裝軟件
具體操作:
解壓軟件、修改目錄名、修改PATH路徑
如果在已有數(shù)據(jù)庫服務(wù)的機器上運行多實例,先查看數(shù)據(jù)庫服務(wù)的版本是否支持多實例,如果不支持需要停掉服務(wù),安裝能支持多實例的數(shù)據(jù)庫版本
接下來安裝提供多實例服務(wù)的軟件
下面演示的版本為MySQL5.7.36,使用二進制安裝,其余安裝方式請看MySQL的安裝方式
groupadd -r -g 306 mysql useradd -g 306 -r -u 306 mysql tar -zxvf mysql-5.7.36-linux-glibc2.12-x86-64.tar.gz mv /root/mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql
2.配置文件
主配置文件/etc/my.cnf
- 每個實例要有獨立:數(shù)據(jù)庫目錄、端口
- socket文件、pid文件、錯誤日志文件
vim /etc/my.cnf [mysqld_multi] #啟動多實例 mysqld = /usr/local/mysql/bin/mysqld_safe #指定進程文件路徑 mysqladmin = /usr/local/mysql/bin/mysqladmin #指定管理命令路徑 user = root #指定進程用戶 #pass = MySQL@123 #可以不指定密碼,在初始化的時候也會出現(xiàn)密碼 [mysqld3306] #實例進程名稱,3306是服務(wù)編號 socket = /tmp/mysql.sock1 #指定sock文件的路徑和名稱 port = 3306 #指定端口 pid-file = /data/3306/mysqld.pid #進程文件pid號文件按位置 datadir = /data/3306 #數(shù)據(jù)庫目錄,最好提前創(chuàng)建 log-error = /data/3306/mysqld.log #錯誤日志位置 [mysqld3307] socket = /tmp/mysql.sock2 port = 3307 pid-file = /data/3307/mysqld.pid datadir = /data/3307 log-error = /data/3307/mysqld.log mkdir -p /data/330{6..7} chown -R mysql:mysql /data/330{6,7}
socket文件:自己訪問自己的數(shù)據(jù)庫服務(wù)時,通過socket文件傳遞參數(shù)
3.啟動服務(wù)
管理多實例
- 啟動服務(wù)
mysqld_multi start 實例編號 #啟動服務(wù)
- 停止服務(wù)
mysqld_multi --user=root --password=密碼 stop 實例編號
/usr/local/mysql/bin/mysqld_multi start 3306 #首次啟動初始化 #也可以使用這個命令來初始化 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307 #用這個命令初始化之后還需要在使用啟動服務(wù) /usr/local/mysql/bin/mysqld_multi start 3307 輸入絕對路徑太麻煩,可以寫入環(huán)境變量 vim /etc/ export PATH=$PATH:/usr/local/mysql/bin/ source /etc/profile.d/mysql.sh #然后就可以寫短指令 mysqld_multi start 3307
4.查看服務(wù)狀態(tài)
ss -nultp | grep 3306 ss -nultp | grep 3307
5.使用初始密碼連接服務(wù)
客戶端訪問
本機連接
使用初始密碼連接
修改本機登錄密碼
#mysql -uroot -p'初始密碼' -S sock文件 #mysql>alter user root@"localhost" identified by "新密碼"; #連接第一個數(shù)據(jù)庫實例測試 /usr/local/mysql/bin/mysql -uroot -p'' -S /tmp/mysql.sock1 show databases; alter user root@"localhost" identified by "123456"; show databases; exit #連接第二個數(shù)據(jù)庫實例測試 mysql -uroot -p'' -S /tmp/mysql.sock2 show databases; alter user root@"localhost" identified by "123456"; show databases; exit
使用新密碼再次登錄驗證
6.停止多實例
mysqld_multi --user=root --password=123456 stop 3306 #mysqld_multi --user=root --password=123456 stop 如果不寫實例號,就會停止數(shù)據(jù)庫用戶為root密碼為123456的實例 ss -nultp | grep 3306
到此這篇關(guān)于MySQL多實例的配置應(yīng)用實例場景的文章就介紹到這了,更多相關(guān)MySQL多實例內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MYSQL row_number()與over()函數(shù)用法詳解
這篇文章主要介紹了MYSQL row_number()與over()函數(shù)用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08MySQL 索引的優(yōu)缺點以及創(chuàng)建索引的準(zhǔn)則
這篇文章主要介紹了MySQL 索引的優(yōu)劣以及創(chuàng)建索引的準(zhǔn)則,幫助大家更好的理解和使用MySQL 索引,感興趣的朋友可以了解下2020-09-09mysql導(dǎo)出表的字段和相關(guān)屬性的步驟方法
在本篇文章里小編給大家分享了關(guān)于mysql導(dǎo)出表的字段和相關(guān)屬性的步驟方法,有需要的朋友們跟著學(xué)習(xí)下。2019-01-01Eclipse與MySQL數(shù)據(jù)庫的連接教程(已實操)
用eclipse編寫的好的代碼,我們怎么才能連接到數(shù)據(jù)庫呢?下面這篇文章主要給大家介紹了關(guān)于Eclipse與MySQL數(shù)據(jù)庫連接的相關(guān)資料,下面的操作是經(jīng)本人驗證,確實可行,需要的朋友可以參考下2023-05-05