2010年9月5日星期日

停止MySQL server,及外間接入問題

mysqld無法停止?

有些系統在安裝mysqld時會創建一個mysql的user,並會在/etc/init.d/mysql start(這是Debian或Ubuntu的init daemon方式)時使用mysql這個user來啟動mysqld。所以使用/etc/init.d/mysql stop或restart會失敗([fail])。(有些系統會是/etc/rc.d/mysql restart)
所以我們要檢查mysqld是以哪個user來起動的,使用指令

ps ax | grep mysql

可以看到mysql是以 --user=mysql 來啟動的。那我們就用mysqladmin來關閉mysqld,指令

mysqladmin -u root -p shutdown

輸入密碼後就能關掉mysqld,上面的root用戶是mysqld裡面的root用戶,不是*nix系統的root用戶,請別搞錯。



mysql無法遠端連接?

若果防火牆沒有封檔,iptables也沒有把mysql的port擋掉的話(iptables -L查看),那就看看mysql的設定檔。

使用root修改mysql的設定檔

sudo vi /etc/mysql/my.cnf #非Debian或Ubuntu請先su後再把sudo這個指令拿掉

找bind-address這一行。如果他前面沒有#的話,請看看他是否設定為127.0.0.1或者localhost。要是這樣的話,可以再加一行bind-address設定,使用外界連接用的IP。像我的機器,

bind-address = 127.0.0.1
bind-address = 202.195.207.133 #外界接入的IP


重啟mysqld,外面應該能接入了。

沒有留言:

發佈留言