1. 程式人生 > >MySQL允許遠端訪問的設定

MySQL允許遠端訪問的設定

MySQL允許遠端訪問的設定

阿里雲需要在安全組中開放埠!

1.註釋bind-address = 127.0.0.1。

程式碼如下:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address = 127.0.0.1註釋掉(即在行首加#),如下:

程式碼如下:

 Instead of skip-networking the default is now to listen only on
 localhost which is more compatible and is not less secure.
 bind-address          = 127.0.0.1

測試過 僅僅在後面update或者新增使用者授予許可權 不註釋這一句 無法連線

除了註釋掉這句話之外,還可以把後面的IP地址修改成允許連線的IP地址。但是,如果只是開發用的資料庫,為了方便起見,還是推薦直接註釋掉。

從上面的註釋中,可以看出,舊版本的MySQL(從一些資料上顯示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用舊版本的小夥伴請注意一下。

2.刪除匿名使用者

登入進資料庫:
程式碼如下:

mysql -u root -p 123456

然後,切換到資料庫mysql。SQL如下:
程式碼如下:

use mysql;

然後,刪除匿名使用者。SQL如下:
程式碼如下:

delete from user where user=’’;

3.增加允許遠端訪問的使用者或者允許現有使用者的遠端訪問。

接著上面,刪除匿名使用者後,給root授予在任意主機(%)訪問任意資料庫的所有許可權。SQL語句如下:
程式碼如下:

mysql> grant all privileges on *.* to ‘root’@’%’ identified by ‘123456’ with grant option;
flush privileges;

如果需要指定訪問主機,可以把%替換為主機的IP或者主機名。另外,這種方法會在資料庫mysql的表user中,增加一條記錄。如果不想增加記錄,只是想把某個已存在的使用者(例如root)修改成允許遠端主機訪問,則可以使用如下SQL來完成:
程式碼如下:

update user set host=’%’ where user=‘root’ and host=‘localhost’;

4.退出資料庫

程式碼如下:

mysql> exit

在MySQL Shell執行完SQL後,需要退出到Bash執行系統命令,需要執行exit。因為這個太常用也太簡單。以下內容就提示“退出”,不再重複列出這個命令。

5.重啟資料庫

完成上述所有步驟後,需要重啟一下資料庫,才能讓修改的配置生效。執行如下命令重啟資料庫:
程式碼如下:

sudo service mysql restart