日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql启多_MySQL启多个实例

發布時間:2025/3/11 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql启多_MySQL启多个实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很多朋友都想在一臺服務器上運行多個MySQL Instance,究竟怎么做呢?

首先要明晰幾個原理, 簡稱為mysqld讀取my.cnf的順序:

第一搜,首先讀取/etc/my.cnf,多實例這個配置文件不會存在。:-(

第二搜,$datadir/my.cnf,在data目錄下尋找此配置文件。

第三搜,defaultfile=/path/my.cnf 通常寫在命令行上,mysqld_safe defaultfile=/tmp/my.cnf &等執行。

第四搜,~/my.cnf 當前用戶下的配置文件。

mysqld多進程運行的必要條件,就是pid文件,datadir,socket,port是獨立分開的。

| Variable_name | Value |

| datadir | /home/mysql/ |

| Variable_name | Value |

| socket | /home/mysql/mysql.sock |

| Variable_name | Value |

| pid_file | /home/mysql/mysql.pid |

| Variable_name | Value |

| port | 3306 |

單一版本實現多實例

#pwd

/usr/local/

#touch my_multi.cnf

#cat my_multi.cnf

[mysqld_multi]

mysqld = /usr/bin/mysqld_safe

mysqladmin = /usr/bin/mysqladmin

user = root

[mysqld1]

socket = /tmp/mysql_3301.sock

port = 3301

pid-file = /usr/local/mysql_3301/data/mysql_3301.pid

datadir = /usr/local/mysql_3301/data/

log = /usr/local/mysql_3301/data/mysql_3301.log

user = mysql

[mysqld2]

socket = /tmp/mysql_3302.sock

port = 3302

pid-file = /usr/local/mysql_3302/data/mysql_3302.pid

datadir = /usr/local/mysql_3302/data/

log = /usr/local/mysql_3302/data/mysql_3302.log

user = mysql

啟動mysqld 的兩個實例

/usr/bin/mysqld_multi –config-file=./my_multi.cnf start 1,2

Starting mysqld daemon with databases from /usr/local/mysql_3301/data/

Starting mysqld daemon with databases from /usr/local/mysql_3302/data/

查看3301,3302端口是否被監聽

# netstat -lt |grep 33

tcp 0 0 *:3301 *:* LISTEN

tcp 0 0 *:3302 *:* LISTEN

測試mysql是否可以連通

#pwd

/usr/local/

通過/tmp/mysql_3301.sock連接3001端口的mysqld

# bin/mysql -u root -S /tmp/mysql_3301.sock -e “SELECT @@VERSION;”

停止3001端口的mysqld

# /usr/bin/mysqld_multi –config-file=./my_multi.cnf stop 1

STOPPING server from pid file /usr/local/mysql_3301/data/mysql_3301.pid

091010 11:56:04 mysqld ended

再次連接,系統會提示錯誤

# bin/mysql -u root -S /tmp/mysql_3301.sock -e “SELECT @@VERSION;”

ERROR 2002 (HY000):

Can’t connect to local MySQL server through socket ‘/tmp/mysql_3301.sock’ (2)

相同的步驟測試3002端口的mysqld,輸出與上面相同。

# /usr/bin/mysql -u root -S /tmp/mysql_3302.sock -e “SELECT @@VERSION;”

# /usr/bin/mysqld_multi –config-file=./my_multi.cnf stop 2

# /usr/bin/mysql -u root -S /tmp/mysql_3302.sock -e “SELECT @@VERSION;”

補充上兩句:

[Nova@imdba.cn mysql]# cp ../mysql-5.0.67/support-files/my-large.cnf /etc/my.cnf

[Nova@imdba.cn mysql]# cp ../mysql-5.0.67/support-files/mysql.server /etc/rc.d/init.d/mysqld

[Nova@imdba.cn mysql]# chkconfig –add mysql

[Nova@imdba.cn mysql]# chkconfig –level mysql 345 on

[Nova@imdba.cn mysql]# chkconfig –list mysql

http://www.imdba.cn/2009/10/10/more_mysqld_in_one_server/

分享到:

2009-10-12 11:03

瀏覽 386

評論

總結

以上是生活随笔為你收集整理的mysql启多_MySQL启多个实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。