MySQL容許遠程訪問的設置sql
1.註釋bind-address = 127.0.0.1。數據庫
代碼以下:
>sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address = 127.0.0.1註釋掉(即在行首加#),以下:ubuntu
代碼以下:
# 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
除了注視掉這句話以外,還能夠把後面的IP地址修改爲容許鏈接的IP地址。可是,若是隻是開發用的數據庫,爲了方便起見,仍是推薦直接註釋掉。vim
從上面的註釋中,能夠看出,舊版本的MySQL(從一些資料上顯示是5.0及其之前的版本)上使用的是skip-networking。因此,善意提醒一下,使用舊版本的小夥伴請注意一下。less
2.刪除匿名用戶socket
登陸進數據庫:
ide
代碼以下:
>mysql -uroot -p123456
而後,切換到數據庫mysql。SQL以下:
代碼以下:
use mysql;
而後,刪除匿名用戶。SQL以下:
代碼以下:
delete from user where user='';
3.增長容許遠程訪問的用戶或者容許現有用戶的遠程訪問。spa
接着上面,刪除匿名用戶後,給root授予在任意主機(%)訪問任意數據庫的全部權限。SQL語句以下:
rest
代碼以下:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
若是須要指定訪問主機,能夠把%替換爲主機的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