mysql多例項執行
更新 2023年10月19日
最近幾天研究了一下怎麼讓mysql實現多例項執行,當然也是有需求才研究的。當然少不了要看許多網上的文章和官方手冊。
一共總結出3種多例項啟動的方法:第一種:安裝兩個msyql,在啟動時指明不同的port和defaults-file即可。第二種:使用mysqld_multi,建立乙個配置檔案然後用mysqld_multi讀取配置檔案來啟動多例項。第三種:使用mysql例項管理器並建立使用者賬戶,這個方法好像比較好不過也有點複雜。這些方法都可以在官方文件中找到,就不細說了,中文的也很好找。
下面是我在採用第二種方法時的心得體會。
一、為什麼這麼做。
聽乙個搞.net開發的人說,這麼做可以防止mysql執行緒排程中產生的瓶頸問題。別的原因就不知道了,反正有這個需求。
二、基本知識。
每個例項應該在自己的datadir下配置my.cnf檔案。
配置檔案的查詢順序如下:
第一搜,首先讀取/etc/my.cnf。
第二搜,$datadir/my.cnf,在data目錄下尋找此配置檔案,每個例項應該在自己的datadir下配置my.cnf檔案。
第三搜,defaultfile=/path/my.cnf 通常寫在命令列上,mysqld_safe defaultfile=/tmp/my.cnf &等執行。
第四搜,~/my.cnf 當前使用者下的配置檔案。
ps:這些都是網上抄來的。
三、安裝mysql。
無外乎原始碼和rpm等方式嘛,就不多說了。
四、準備目錄。
這步還是比較重要的。
如果安裝的時候進行了mysql_install_db這個操作的話,會在mysql的datadir下面建立msyql、test兩個資料夾,還有幾個log檔案。例如:
多例項同時執行的話需要自行建立另乙個datadir。我的環境中是/var/lib/mysql2;把mysql1裡面的拷貝過來或者在mysql2目錄裡面再執行一次mysql_installdb --datadir=path都行。
做完後要注意目錄許可權,mysql使用者要可寫。
五、建立配置檔案。
原來my.cnf檔案中的mysqld段全部注釋。
my_multi.cnf檔名可以隨便起,以後在命令中寫對了就行了。
再有就是要注意pid-file、log和log-error這些個檔案的存放位置要mysql使用者可寫。另外需要注意pid檔案要事先建立好。
ps:2023年10月19日又做了一下,寫在my.cnf裡面也是可以的。
六、啟動例項。
啟動前要保證path裡面包括mysql的bin目錄。可以把下面的命令寫入/etc/profile。
export path=$path:/usr/local/webserver/mysql/bin
啟動命令是:#/path/to/mysqld_multi --config-file=/path/to/my_multi.cnf start 1,2 寫入/etc/rc.local就可以開機自動啟動兩個例項了。
七、驗證。
#netstat -alpn|grep 33
#mysql -u root -h localhost –s /tmp/mysqld1.sock
#mysql -u root -h 127.0.0.1 -p 3301
連上後可以看看datadir是不是對的:mysql> show variables like '%datadir%';
MySQL多例項執行
原始出處 mysql 多例項執行 最近幾天研究了一下怎麼讓mysql 實現多例項執行,當然也是有需求才研究的。當然少不了要看許多網上的文章和官方手冊。一共總結出3 種多例項啟動的方法 第一種 安裝兩個msyql 在啟動時指明不同的port 和defaults file 即可。第二種 使用mysqld...
Windows下MySQL多例項執行
1.正常安裝windows版的mysql,例如安裝在d mysql資料夾裡 2.按照常規配置好mysql 3.複製備份安裝好的資料夾,命名為 mysql 3307 刪除 data目錄下的檔案其他資料夾,只剩 test和mysql資料夾 4.修改 d mysql 3307 下的my.ini 埠為330...
mysql多例項命令 mysql多例項安裝
1 編輯my.cnf檔案增加相關引數如下 mysqld multi user root pass 123 mysqld usr local mysql bin mysqld safe mysqladmin usr local mysql bin mysqladmin log usr local my...