在CentOS或者就通常Linux版本而言, 安裝mysql一般會採用兩種方式:mysql
經過make install 編譯source codesql
經過相似yum install mysql-server 或者 apt-get install mysql-server這樣的系統commandsshell
其實歸根揭底都是一個目的,安裝成功,可以使用。無非編譯源碼,須要手動配置一些文件而已。然而,通常狀況下在安裝完mysql後都會遇到如下兩個問題,不過解決起來也很easy。vim
遠程登陸服務端的mysql安全
要遠程登陸mysql,必須爲登陸的用戶受權.這樣就須要先在服務端登陸mysql,廢話少說,仍是直接用command說話,固然此處本人mysql用戶名和密碼:root/root服務器
mysql -h127.0.0.1 -uroot -proot
grant all privileges on *.* to root@"%" identified by "password" with grant option; flush privileges;
防火牆開着,第一個問題解決了依然訪問不了。微信
針對這個問題,最直接的方法就是socket
service iptables stop
然而在某些狀況下,這個不該該稱之爲解決方法。由於防火牆自由它的用途不能由於某一個程序的訪問而關掉整個服務器的防火牆,豈不是要下降Server端的安全性,那就只開放須要的端口唄。經過vi/vim編輯器打開位於/etc/sysconfig下的iptables文件,編輯下添加如下內容保存便可編輯器
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 3306 -j ACCEPT
service iptables restart
Ok,能夠遠程訪問了。ide
到此,mysql算是安裝完了。可是項目要求是多個mysql又窮的只有一臺Server。怎麼辦?有人說技術不是問題,確實在某些狀況下如此,世界如此之大,我等草民又怎麼可能那麼容易遇到一個史無前例的問題呢。辦法以下兩個:
採用了編譯源碼的人最可能選擇的方法
既然已經編譯安裝成功一個那就繼續copy下source code folder,make install 完了後編輯mysql的配置文件my.cnf給指定個非3306的端口,再啓動一個。看上去也很容易。what a pity! 時間是最難得的,須要的實例越多,編譯的越多,傷不起。仍是看下下一個方法吧,懶人自由懶辦法。
採用了懶辦法,使用系統命令安裝的人對應的辦法
首先找到mysql安裝後位於/var/lib下的mysql文件夾。沒錯就是它,須要幾個就複製幾個,固然命名上仍是規範點利於本身的配置。此處舉一下幾個例子
cp -r /var/lib/mysql /var/lib/mysql3307 cp -r /var/lib/mysql /var/lib/mysql3308
這裏不得不提醒須要受權給mysql以上兩個新文件夾的權限
chown -E mysql mysql3307 chown -R mysql mysql3308
接下來去編輯位於/etc下的my.cnf
[mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin #user = mysql [mysqld1] socket = /var/lib/mysql/mysql.sock port = 3306 pid-file = /var/lib/mysql/mysql.pid datadir = /var/lib/mysql user = mysql [mysqld2] socket = /var/lib/mysql3307/mysql.sock port = 3307 pid-file = /var/lib/mysql3307/mysql.pid datadir = /var/lib/mysql3307 user = mysql [mysqld3] socket = /var/lib/mysql3308/mysql.sock port = 3308 pid-file = /var/lib/mysql3308/mysql.pid datadir = /var/lib/mysql3308 user = mysql
配置結束,啓動全部mysql
mysqld_multi start
檢測是否都啓動了
mysqld_multi report
結果
mysql is running mysql3307 is running mysql3308 is running
大功告成,若是遠程沒法訪問,照着文章開始那樣對應着作就能夠了。
如有疑問可微信掃描下列二維碼並關注留言