centos7環境搭建一台mysql服務器啟動多個端口


在一台服務器上啟動多個mysql實例,分別用不同的端口號,因centos7版本安裝mysql5.7后不存在mysqld_multi 、mysqld_safe等命令,做踩坑總結

 

Mysql多實例實現的3種方式

 

1、基於多配置文件

通過使用多個配置文件來啟動不同的進程,以此來實現多實例。

優點:邏輯簡單,配置簡單

缺點:管理起來不方便

 

2、基於mysqld_multi

通過官方自帶的 mysqld_multi 工具,使用單獨配置文件來實現多實例

優點: 便於集中管理管理

缺點: 不方便針對每個實例配置進行定制

 

3、基於IM

使用 MySQL 實例管理器(MYSQLMANAGER),這個方法好像比較好不過也有點復雜

優點:便於集中管理

缺點:耦合度高。IM一掛,實例全掛

不方便針對每個實例配置進行定制

 

本文采用第一種基於多種配置文件方式

1 創建並初始化數據目錄(data為新建目錄,可在任意路徑創建)

1 mkdir -p /data/mysql/{3307,3308}

2 chown mysql:mysql /data/mysql/{3307,3308}

 

2 復制數據庫配置文件

1 cp /etc/my.cnf  /data/mysql/3308.cnf

2 vim /data/mysql/3308.cnf

 

3 編輯3308.cnf文件內容

[mysqld]

port=3308

datadir=/data/mysql/3308/

socket=/tmp/mysql3308.sock

symbolic-links=0

 

[mysqld_safe]

log-error=/data/mysql/3308.log

pid-file=/usr/local/mysql/data/3308.pid

 

[client]

port=3308

socket=/tmp/mysql3308.sock

 

4 初始化數據庫

mysqld --defaults-file=/data/mysql/3308.cnf --initialize-insecure --user=mysql

 

5 重復第2、3、4步驟,創建3307端口號

 

6 啟動3308實例

mysqld --defaults-extra-file=/data/mysql/3308.cnf --datadir=/data/mysql/3308/ --user=mysql &

 

7 連接3308實例( 到這一步數據庫實例就創建成功並能夠登錄了 )

mysql -S /tmp/mysql3308.sock -P 3308

 

8 修改密碼

mysqladmin -uroot password '123456' -S /tmp/mysql3308.sock

 

9 用密碼登錄

 mysql -u root -p123456 -S /tmp/mysql3308.sock

 

10 給賬戶授權,為了能用navicat等客戶端登錄

GRANT ALL ON *.* to root@'%' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

 

補充操作

netstat -lnpt | grep -E "3306|3307|3308"    在第六步啟動后可查看相應端口號狀態

kill -9 pid      --用來關閉某進程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM