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

MySQL單機多實例部署兩種實用方案

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

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

一、方案一:手動復制實例文件,分別啟動多實例

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

1.1 安裝基礎MySQL實例

首先需在服務器上部署一個基礎MySQL實例,可通過現(xiàn)成的安裝腳本快速完成:

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

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

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

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

1.3 修改配置文件與啟動腳本

新實例需修改路徑、端口等關鍵配置,避免與基礎實例沖突:

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

1.4 修復權限并啟動實例

MySQL運行依賴mysql用戶權限,需確保新實例目錄屬組正確:

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

1.5 測試多實例連接

通過端口區(qū)分登錄不同實例,驗證部署結果:

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

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

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

2.1 準備目錄與配置文件

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

  1. 創(chuàng)建兩個新實例(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. 編寫mysqld_multi配置文件(my.cnf):
vim /data/mysqld_multi/conf/my.cnf

配置內容如下(包含工具全局配置與兩個實例的獨立配置):

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

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

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

關鍵注意:初始化過程中會生成臨時root密碼(類似“root@localhost: Xxxxxxxx”),需記錄下來,后續(xù)登錄需使用。

2.3 啟動多實例并驗證

通過mysqld_multi工具一鍵啟動所有實例,簡化操作:

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

正常情況下,會顯示3311與3312端口對應的MySQL進程。

2.4 修改實例root密碼

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

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

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

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

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

  1. 使用新密碼驗證登錄:
# 登錄3311實例
mysql -uroot -p -S /data/mysql3311/data/mysql3311.sock
# 登錄3312實例
mysql -uroot -p -S /data/mysql3312/data/mysql3312.sock

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

mysqld_multi支持查看實例狀態(tài)、單獨啟停實例,運維更靈活:

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

  1. 單獨停止3311實例:
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf stop 3311

  1. 單獨啟動3311實例:
mysqld_multi --defaults-extra-file=/data/mysqld_multi/conf/my.cnf start 3311

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

三、兩種方案對比與選擇建議

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

選擇建議

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

四、注意事項

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

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

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

相關文章

最新評論

青阳县| 神农架林区| 鄂伦春自治旗| 永春县| 庐江县| 长丰县| 泌阳县| 方山县| 滕州市| 靖江市| 乌拉特后旗| 和田县| 浦县| 芜湖县| 巴林右旗| 佳木斯市| 南投市| 田东县| 湖州市| 明水县| 崇文区| 天水市| 洪湖市| 寿宁县| 酉阳| 泰宁县| 西乌珠穆沁旗| 呼玛县| 固始县| 错那县| 微山县| 兴安县| 曲靖市| 穆棱市| 满城县| 莆田市| 扬中市| 玉门市| 仁布县| 布拖县| 蒲江县|