最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL單機(jī)多實(shí)例部署兩種實(shí)用方案

 更新時(shí)間:2026年01月07日 09:22:58   作者:·云揚(yáng)·  
本文介紹了兩種MySQL多實(shí)例部署方案:手動(dòng)復(fù)制實(shí)例和使用mysqld_multi工具,手動(dòng)復(fù)制實(shí)例適用于實(shí)例數(shù)量較少、需要靈活配置的場(chǎng)景,文章詳細(xì)描述了兩種方案的操作步驟、關(guān)鍵命令和注意事項(xiàng),適用于Linux環(huán)境下的MySQL運(yùn)維,感興趣的朋友跟隨小編一起看看吧

在實(shí)際運(yùn)維工作中,MySQL多實(shí)例部署能有效節(jié)省服務(wù)器資源、隔離不同業(yè)務(wù)數(shù)據(jù),同時(shí)方便統(tǒng)一管理。本文將詳細(xì)介紹兩種常用的MySQL多實(shí)例部署方案,包含完整操作步驟與關(guān)鍵命令,適用于Linux環(huán)境下的MySQL運(yùn)維場(chǎng)景。

一、方案一:手動(dòng)復(fù)制實(shí)例文件,分別啟動(dòng)多實(shí)例

該方案通過(guò)復(fù)制已安裝的MySQL基礎(chǔ)實(shí)例,修改配置文件與啟動(dòng)腳本實(shí)現(xiàn)多實(shí)例運(yùn)行,適合實(shí)例數(shù)量較少、需靈活配置的場(chǎng)景。

1.1 安裝基礎(chǔ)MySQL實(shí)例

首先需在服務(wù)器上部署一個(gè)基礎(chǔ)MySQL實(shí)例,可通過(guò)現(xiàn)成的安裝腳本快速完成:

# 進(jìn)入腳本目錄
cd /data/scripts/
# 執(zhí)行安裝腳本(需確保腳本已提前準(zhǔn)備)
sh mysql_install.sh

1.2 復(fù)制數(shù)據(jù)目錄與啟動(dòng)腳本

基礎(chǔ)實(shí)例安裝完成后,需為新實(shí)例復(fù)制核心文件,同時(shí)清理冗余數(shù)據(jù)避免沖突:

  1. 停止基礎(chǔ)MySQL實(shí)例,防止文件占用:
/etc/init.d/mysql.server stop
  1. 清空基礎(chǔ)實(shí)例的日志文件與大數(shù)據(jù)庫(kù)文件,減少?gòu)?fù)制體積:
# 查看MySQL目錄下文件大小
cd /data/mysql
du -sh *
# 清空日志文件(> 符號(hào)表示清空文件內(nèi)容,保留文件本身)
cd log/
ll -h
>mysql-general.log
>mysql-slow.log
>mysql.err
# 清空大數(shù)據(jù)庫(kù)文件(替換[大數(shù)據(jù)庫(kù)文件]為實(shí)際文件名,如test_db)
cd ../data/
du -sh *
rm [大數(shù)據(jù)庫(kù)文件]
# 查看磁盤(pán)空間,刪除備份文件(若存在)
cd /data
du -sh *
df -Th
rm mysql_bak -rf
  1. 復(fù)制數(shù)據(jù)目錄與啟動(dòng)腳本,新實(shí)例以端口3307區(qū)分(基礎(chǔ)實(shí)例默認(rèn)3306):
# 復(fù)制數(shù)據(jù)目錄,命名為mysql3307
cp -rf /data/mysql /data/mysql3307
# 復(fù)制啟動(dòng)腳本,命名為mysql3307.server
cp /etc/init.d/mysql.server /etc/init.d/mysql3307.server

1.3 修改配置文件與啟動(dòng)腳本

新實(shí)例需修改路徑、端口等關(guān)鍵配置,避免與基礎(chǔ)實(shí)例沖突:

  1. 修改啟動(dòng)腳本中的目錄路徑與鎖文件名稱(chēng):
# 編輯新實(shí)例啟動(dòng)腳本
vim /etc/init.d/mysql3307.server
# 在vim編輯器中執(zhí)行替換命令(全局替換數(shù)據(jù)目錄路徑)
:%s/\/data\/mysql/\/data\/mysql3307/g
# 修改鎖文件路徑,避免與基礎(chǔ)實(shí)例爭(zhēng)搶鎖文件
lock_file_path="$lockdir/mysql3307"
  1. 修改新實(shí)例的MySQL配置文件(my.cnf):
# 編輯新實(shí)例配置文件
vim /data/mysql3307/conf/my.cnf
# 全局替換數(shù)據(jù)目錄路徑
:%s/\/data\/mysql/\/data\/mysql3307/g
# 替換sock文件名稱(chēng)(用于本地連接標(biāo)識(shí))
:%s/mysql.sock/mysql3307.sock/g
# 替換端口號(hào)(從3306改為3307)
:%s/3306/3307/g

1.4 修復(fù)權(quán)限并啟動(dòng)實(shí)例

MySQL運(yùn)行依賴(lài)mysql用戶(hù)權(quán)限,需確保新實(shí)例目錄屬組正確:

  1. 修改數(shù)據(jù)目錄屬組:
chown mysql.mysql /data/mysql3307/ -R
  1. 啟動(dòng)基礎(chǔ)實(shí)例與新實(shí)例,驗(yàn)證進(jìn)程:
# 啟動(dòng)兩個(gè)實(shí)例
/etc/init.d/mysql.server start
/etc/init.d/mysql3307.server start
# 查看MySQL進(jìn)程,確認(rèn)兩個(gè)實(shí)例均正常運(yùn)行
ps -ef | grep mysql

1.5 測(cè)試多實(shí)例連接

通過(guò)端口區(qū)分登錄不同實(shí)例,驗(yàn)證部署結(jié)果:

# 登錄基礎(chǔ)實(shí)例(默認(rèn)3306端口)
mysql -uroot -p
# 查看數(shù)據(jù)庫(kù)列表
show databases;
exit;
# 登錄3307端口的新實(shí)例
mysql -uroot -p -P 3307
# 查看數(shù)據(jù)庫(kù)列表
show databases;
exit;
# 如需停止實(shí)例,執(zhí)行以下命令
/etc/init.d/mysql.server stop
/etc/init.d/mysql3307.server stop

二、方案二:使用mysqld_multi工具集中管理多實(shí)例

mysqld_multi是MySQL官方提供的多實(shí)例管理工具,支持通過(guò)單個(gè)配置文件管理多個(gè)實(shí)例,適合實(shí)例數(shù)量較多、需統(tǒng)一運(yùn)維的場(chǎng)景。

2.1 準(zhǔn)備目錄與配置文件

首先創(chuàng)建實(shí)例數(shù)據(jù)目錄與工具配置目錄,規(guī)范文件結(jié)構(gòu):

  1. 創(chuàng)建兩個(gè)新實(shí)例(3311、3312端口)的數(shù)據(jù)目錄:
mkdir -p /data/{mysql3311,mysql3312}/data
  1. 創(chuàng)建mysqld_multi的配置文件與日志目錄:
mkdir -p /data/mysqld_multi/conf/
mkdir /data/mysqld_multi/log/
  1. 編寫(xiě)mysqld_multi配置文件(my.cnf):
vim /data/mysqld_multi/conf/my.cnf

配置內(nèi)容如下(包含工具全局配置與兩個(gè)實(shí)例的獨(dú)立配置):

[mysqld_multi]
# 指定mysqld_safe與mysqladmin路徑(需根據(jù)實(shí)際安裝路徑調(diào)整)
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
# 工具運(yùn)行日志路徑
log        = /data/mysqld_multi/log/mysqld_multi.log
# 管理實(shí)例的默認(rèn)賬號(hào)密碼(后續(xù)可修改)
user = root
pass = martin
# 3311端口實(shí)例配置
[mysqld3311]
socket     = /data/mysql3311/data/mysql3311.sock  # 實(shí)例本地連接標(biāo)識(shí)
port       = 3311                                  # 端口號(hào)
pid-file   = /data/mysql3311/data/mysql3311.pid    # 進(jìn)程ID文件
datadir    = /data/mysql3311/data/                 # 數(shù)據(jù)目錄
user       = mysql                                 # 運(yùn)行用戶(hù)
# 3312端口實(shí)例配置
[mysqld3312]
socket     = /data/mysql3312/data/mysql3312.sock
port       = 3312
pid-file   = /data/mysql3312/data/mysql3312.pid
datadir    = /data/mysql3312/data/
user       = mysql

2.2 初始化多實(shí)例數(shù)據(jù)目錄

新實(shí)例需初始化數(shù)據(jù)目錄,生成系統(tǒng)表與臨時(shí)root密碼:

# 初始化3311實(shí)例(指定數(shù)據(jù)目錄與運(yùn)行用戶(hù))root@localhost: k*sN45P0NaWw
mysqld --datadir=/data/mysql3311/data/ --user=mysql --initialize
# 初始化3312實(shí)例 root@localhost: *V)kHsr47Try
mysqld --datadir=/data/mysql3312/data/ --user=mysql --initialize

關(guān)鍵注意:初始化過(guò)程中會(huì)生成臨時(shí)root密碼(類(lèi)似“root@localhost: Xxxxxxxx”),需記錄下來(lái),后續(xù)登錄需使用。

2.3 啟動(dòng)多實(shí)例并驗(yàn)證

通過(guò)mysqld_multi工具一鍵啟動(dòng)所有實(shí)例,簡(jiǎn)化操作:

  1. 啟動(dòng)所有配置的實(shí)例:
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf start
  1. 查看實(shí)例進(jìn)程,確認(rèn)啟動(dòng)狀態(tài):
ps -ef | grep mysql

正常情況下,會(huì)顯示3311與3312端口對(duì)應(yīng)的MySQL進(jìn)程。

2.4 修改實(shí)例root密碼

使用臨時(shí)密碼登錄實(shí)例,修改為自定義密碼(此處統(tǒng)一改為“martin”):

  1. 登錄3311實(shí)例(通過(guò)socket文件定位實(shí)例):
mysql -uroot -p -S /data/mysql3311/data/mysql3311.sock

輸入初始化時(shí)記錄的臨時(shí)密碼,登錄后執(zhí)行密碼修改命令:

alter user user() identified by 'martin';
exit;

  1. 同理修改3312實(shí)例密碼:
mysql -uroot -p -S /data/mysql3312/data/mysql3312.sock
alter user user() identified by 'martin';
exit;

  1. 使用新密碼驗(yàn)證登錄:
# 登錄3311實(shí)例
mysql -uroot -p -S /data/mysql3311/data/mysql3311.sock
# 登錄3312實(shí)例
mysql -uroot -p -S /data/mysql3312/data/mysql3312.sock

2.5 管理多實(shí)例狀態(tài)與啟停

mysqld_multi支持查看實(shí)例狀態(tài)、單獨(dú)啟停實(shí)例,運(yùn)維更靈活:

  1. 查看所有實(shí)例狀態(tài):
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf report

  1. 單獨(dú)停止3311實(shí)例:
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf stop 3311

  1. 單獨(dú)啟動(dòng)3311實(shí)例:
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf start 3311

  1. 再次查看狀態(tài),確認(rèn)3311實(shí)例已恢復(fù)運(yùn)行:
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf report

三、兩種方案對(duì)比與選擇建議

對(duì)比維度方案一(手動(dòng)復(fù)制實(shí)例)方案二(mysqld_multi工具)
適用場(chǎng)景實(shí)例數(shù)量少(2-3個(gè))、需靈活配置實(shí)例數(shù)量多(3個(gè)以上)、需統(tǒng)一管理
配置復(fù)雜度每個(gè)實(shí)例單獨(dú)修改配置,步驟繁瑣單個(gè)配置文件集中管理,配置簡(jiǎn)潔
運(yùn)維效率啟停需執(zhí)行不同腳本,效率低一鍵啟停所有實(shí)例,支持單獨(dú)管理
學(xué)習(xí)成本無(wú)需額外學(xué)習(xí)工具,易上手需熟悉工具命令,有一定學(xué)習(xí)成本

選擇建議

  • 若業(yè)務(wù)僅需2-3個(gè)MySQL實(shí)例,且每個(gè)實(shí)例配置差異大,優(yōu)先選方案一;
  • 若需部署多個(gè)實(shí)例(如測(cè)試環(huán)境多版本驗(yàn)證、生產(chǎn)環(huán)境多業(yè)務(wù)隔離),優(yōu)先選方案二,減少運(yùn)維工作量。

四、注意事項(xiàng)

  1. 端口沖突:部署前需確認(rèn)端口未被占用(使用netstat -tuln | grep 端口號(hào)檢查);
  2. 數(shù)據(jù)備份:操作前務(wù)必備份基礎(chǔ)實(shí)例數(shù)據(jù),避免誤刪或配置錯(cuò)誤導(dǎo)致數(shù)據(jù)丟失;
  3. 權(quán)限控制:所有MySQL目錄需歸屬mysql用戶(hù),避免權(quán)限不足導(dǎo)致實(shí)例啟動(dòng)失敗;
  4. 生產(chǎn)環(huán)境:生產(chǎn)環(huán)境建議為每個(gè)實(shí)例配置獨(dú)立的日志文件(錯(cuò)誤日志、慢查詢(xún)?nèi)罩荆?,便于?wèn)題排查。

通過(guò)以上兩種方案,可滿(mǎn)足不同場(chǎng)景下的MySQL多實(shí)例部署需求,實(shí)際操作時(shí)需根據(jù)服務(wù)器環(huán)境與業(yè)務(wù)需求靈活調(diào)整命令路徑與配置參數(shù)。

到此這篇關(guān)于MySQL單機(jī)多實(shí)例部署兩種實(shí)用方法詳解的文章就介紹到這了,更多相關(guān)mysql多實(shí)例部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

健康| 柘城县| 长海县| 仁化县| 延吉市| 临西县| 泰和县| 曲麻莱县| 名山县| 龙南县| 明星| 诏安县| 玛纳斯县| 武宁县| 秭归县| 仁寿县| 贡觉县| 罗定市| 罗山县| 辉县市| 文成县| 鸡东县| 包头市| 青川县| 定远县| 抚顺市| 龙里县| 海林市| 东源县| 洮南市| 昌宁县| 基隆市| 电白县| 朝阳市| 台山市| 花莲县| 林口县| 盐边县| 亚东县| 嘉峪关市| 岑巩县|