萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 分享Ubuntu下如何設置MySQL遠程連接

分享Ubuntu下如何設置MySQL遠程連接

在Ubuntu安裝的Mysql無法遠程連接,現在我們來告訴你如何設置,如果你的Mysql無法用密碼登錄,可以一下前面部分。

1、mysql安裝後密碼無法登陸問題

這時你需要進入/etc/mysql目錄下,然後查看裡面的用戶名和密碼,然後

sudo vim debian.cnf

使用這個文件中的用戶名和密碼進入mysql,假如debian.cnf中的用戶名為debian-sys-maint,則:

mysql -u debian-sys-maint -p


按回車,這時需要你輸入密碼,復制debian.cnf中的密碼(不要手動輸入,因為容易產生錯誤)。
在終端中會出現mysql>這樣的提示:

use mysql
show tables;//查看mysql數據庫中的表,會看到一個user表。
select * from user;//查看一下這個表中是否有root用戶,如果有:
update user set password=password("root") whereuser="root";//更改root用戶進入mysql的密碼。
flush privileges;

quit退出mysql。
然後用

mysql -u root -proot


重新登錄mysql即可。
如果user表中沒有root用戶:用grant命令
grant all privileges on *.* to root@localhost identified by'123'
其中*.*代表所有數據庫中的所有表,即database name.your table'123'表示為root用戶的密碼。
flush privileges;
select * from user;查看一下user這個表中是否有root用戶。如果有表示添加成功。
quit退出mysql.

mysql -u root -p 123進入mysql即可。

2、配置遠程連接



vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1

注釋掉這行,如:#bind-address = 127.0.0.1

或者改為: bind-address = 0.0.0.0

允許任意IP訪問;

或者自己指定一個IP地址。

重啟 MySQL:sudo /etc/init.d/mysql restart


授權用戶能進行遠程連接

grant all privileges on *.* to root@"%" identified by "password" with grant option;

flush privileges;
第一行命令解釋如下,*.*:第一個*代表數據庫名;第二個*代表表名。這裡的意思是所有數據庫裡的所有表都授權給用戶。root:授予root賬號。“%”:表示授權的用戶IP可以指定,這裡代表任意的IP地址都能訪問MySQL數據庫。“password”:分配賬號對應的密碼,這裡密碼自己替換成你的mysql root帳號密碼。

copyright © 萬盛學電腦網 all rights reserved