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