配置服務器時,每每須要安裝數據庫,安裝完數據庫以後,一不當心就會遇到遠程鏈接不上的問題,這個時候該怎麼辦呢?且聽我慢慢道來。java
一、登陸MySQL數據庫mysql
mysql -u root -p
而後會提示你輸入密碼,就是你安裝MySQL時設置的密碼,sql
查看user表數據庫
mysql> use mysql; Database changed mysql>select host,user,password from user;
+--------------+------+---------------------------------------------------------------------+服務器
| host | user | password |ide
+--------------+------+---------------------------------------------------------------------+spa
| localhost | root | *957E2F74EDB0FAD121193F8CD0B68AAC17D5E3CE |code
| 192.168.1.1 | root | *957E2F74EDB0FAD121193F8CD0B68AAC17D5E3CE | class
+--------------+------+---------------------------------------------------------------------+登錄
2 rows in set (0.00 sec)
能夠看到user表裏已經建立了兩個root用戶,host字段是指登陸的主機,IP就表明登錄主機的IP,也能夠是主機名。若是想經過固定IP訪問數據庫,就能夠將host字段設置爲本身的固定IP便可。
二、實現遠程登陸
其實在上面已經說了,能夠將host設置爲本身固定的IP就能夠了,可是若是IP不是固定的是否是每次都要到數據庫裏來修改呢?固然不是。這時候咱們能夠將host字段的值設置爲%,這裏的%就表示在任何客戶端機器上均可以經過用戶名和密碼登陸到MySQL服務器,這裏能夠根據我的狀況自行設置。
update user set host = '%' where user = 'root';
這個表示將全部的root用戶名都改爲%,就是任何主機均可以經過root用戶名密碼鏈接MySQL服務器。
權限修改:
mysql>use mysql; Database changed mysql?grant all privileges on *.* to username@'%' identified by "password"; Query OK,0 row affected (0.00 sec) mysql>select host,user,passwrod from user;
+--------------+------+---------------------------------------------------------------------+
| host | user | password |
+--------------+------+---------------------------------------------------------------------+
| localhost | root | *957E2F74EDB0FAD121193F8CD0B68AAC17D5E3CE |
| 192.168.1.1 | root | *957E2F74EDB0FAD121193F8CD0B68AAC17D5E3CE |
+--------------+------+---------------------------------------------------------------------+
2 rows in set (0.00sec)
這樣任何機器均可以經過用戶名root密碼***遠程訪問此服務器上的MySQL了。
三、也能夠經過修改user表中host字段來實現遠程鏈接
mysql>use mysql; mysql>update user set host = '%' wher user = 'root';
這樣遠端機器也能夠經過root用戶訪問服務器上的MySQL了。