<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • mysql連接失敗的原因(mysql數據庫連接失敗解決方法)


    遠程連接是輸入mysql所在主機的IP和端口來確定主機的邏輯地址,再通過用戶和密碼來確定登錄哪個用戶。比如:

    String url = "jdbc:mysql://192.168.183.134:3306/mysql";

    就是先在網絡層連上IP為192.168.183.134的主機,再去連接這臺主機的具體端口3306(傳輸層),然后傳輸層達成連接后,在應用層用賬號密碼登陸,訪問mysql數據庫

    Connection conn = DriverManager.getConnection(url, user, password);

    一開始我懷疑是否端口設置問題,然后在/etc/mysql/my.cnf上加上了port=3306,結果還是連不上,顯示端口拒絕訪問。

    然后用命令$netstat -apn 找到端口3306的一條信息:

    tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

    仔細一看,這里提供的IP是127.0.0.1,結合socket編程的經驗,一般要接收任意主機發送的消息時,IP會設置為0.0.0.0,而127.0.0.1(回送地址)是否意味著只能本地訪問?然后打開同學的Debian查看他的mysql占用端口時,果然如我所想:

    tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN

    經過一番搜索后,得出結論是mysql默認只提供給本地訪問,而要開啟遠程訪問功能需要額外設置。從安全的角度看這也是合理的。

    設置方法還是修改配置文件/etc/mysql/my.cnf

    [client]
    default-character-set=utf8
    

    [mysqld]

    default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci port=3306 bind-address=0.0.0.0

    utf8相關的是之前本地錄入漢字數據時發現插入失敗,漢子和VARCHAR不兼容,在mysql模式下輸入STATUS查看的狀態時:

    Server characterset: latin1
    Db characterset: latin1
    Client characterset: utf8
    Conn. characterset: utf8

    經過這個修改后,前2個字符集就全變成了utf8,支持中文。其他的修改就如同我所說的,綁定IP為0.0.0.0,即接收任意地址的主機的連接,端口綁定3306。

    但是依然不能訪問,只不過錯誤信息發生了改變,這次很明確了,是顯示用戶沒有連接權限,也就是說用戶只能本地連接,依然搜索資料后得出解決方案如下:

    1.新建用戶遠程連接mysql數據庫

    mysql> grant all on *.* to team@'%' identified by 'java123' with grant option;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    2.支持root用戶允許遠程連接mysql數據庫

    mysql> grant all on *.* to 'root'@'%' identified by 'cplusplus' with grant option;
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    參考:配置mysql允許遠程連接的方法

    遠程連接 Mysql 失敗的解決方法

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费