配置服务器时,每每须要安装数据库,安装完数据库以后,一不当心就会遇到远程链接不上的问题,这个时候该怎么办呢?且听我慢慢道来。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了。