Ubunt下安裝mysql及遇到的問題(怎麼解決mysql遠端連線報10038的錯誤)
阿新 • • 發佈:2019-02-10
最近在虛擬機器上倒騰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伺服器