1. 程式人生 > >Ubunt下安裝mysql及遇到的問題(怎麼解決mysql遠端連線報10038的錯誤)

Ubunt下安裝mysql及遇到的問題(怎麼解決mysql遠端連線報10038的錯誤)

最近在虛擬機器上倒騰mysql,分為兩個步驟,首先安裝mysql、然後使用mysql

我使用的環境是ubuntu-14.04.2-desktop-i386.iso,安裝mysql是很簡單的。

1、安裝和啟動mysql

使用命令:

sudo apt-get install mysql-server 

對的,不要懷疑,就是這麼簡單

啟動mysql程序 : sudo /etc/init.d/mysql start

關閉mysql程序: sudo /etc/init.d/mysql stop

重啟mysql程序: sudo /etc/init.d/mysql restart

2、使用mysql  使用navicate客戶端連線mysql,然後就發現遇到一個10038的錯誤,在windows下使用telnet ip 3306發現埠沒有開放 備註:(在win7中預設沒有telnet命令,需要自己開通,開通方法: 進入控制面板->程式 ->程式和功能 ->  開啟或關閉Windows 功能->在開啟的功能列表中勾選telnet 伺服器和 telnet客戶端即可) 在Linux中使用netstat -an |grep 3306 可以看到 tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 的資訊,這個代表3306埠只是開放給本地使用,沒有開通遠端連線 那麼怎麼開通這個埠呢?
進入到mysql的安裝目錄/etc/mysql ,找到my.cnf控制檔案,使用sudo vim my.cnf 編輯,在檔案中找到 (如果是mysql5.7版本,目錄配置檔案在/etc/mysql/mysql.conf.d/mysqld.cnf) #
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure
#bind-address   
這幾行下面有bind-address            = 127.0.0.1 將其ip修改為能夠被訪問的ip,例如:bind-address            = bind-address            = 192.168.128.131 重啟mysql伺服器(上述啟動和關閉程序命令)之後,再使用netstat -an | grep 3306 顯示如下: tcp        0      0 192.168.128.131:3306    0.0.0.0:*               LISTEN
再通過navicate連線,發現已經能順利連線上mysql伺服器