部署mysql後,沒法設置用戶遠程登錄(%只全部用戶,不能夠,只能給指定的ip?)

MySQL容許遠程訪問的設置mysql

1.註釋bind-address = 127.0.0.1。sql

代碼以下:

>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

除了注視掉這句話以外,還能夠把後面的IP地址修改爲容許鏈接的IP地址。可是,若是隻是開發用的數據庫,爲了方便起見,仍是推薦直接註釋掉。vim

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

2.刪除匿名用戶ide

登陸進數據庫:
spa

代碼以下:

>mysql -uroot -p123456


而後,切換到數據庫mysql。SQL以下:rest

代碼以下:

use mysql;


而後,刪除匿名用戶。SQL以下:code

代碼以下:

delete from user where user='';

3.增長容許遠程訪問的用戶或者容許現有用戶的遠程訪問。ip

接着上面,刪除匿名用戶後,給root授予在任意主機(%)訪問任意數據庫的全部權限。SQL語句以下:

代碼以下:

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

相關文章
相關標籤/搜索