配置服务器时,往往需要安装数据库,安装完数据库之后,一不小心就会遇到远程连接不上的问题,这个时候该怎么办呢?且听我慢慢道来。
1、登录MySQL数据库
mysql -u root -p
然后会提示你输入密码,就是你安装MySQL时设置的密码,
查看user表
mysql> use mysql;
Database changed
mysql>select host,user,password from user;
+--------------+------+---------------------------------------------------------------------+
| host | user | password |
+--------------+------+---------------------------------------------------------------------+
| localhost | root | *957E2F74EDB0FAD121193F8CD0B68AAC17D5E3CE |
| 192.168.1.1 | root | *957E2F74EDB0FAD121193F8CD0B68AAC17D5E3CE |
+--------------+------+---------------------------------------------------------------------+
2 rows in set (0.00 sec)
可以看到user表里已经创建了两个root用户,host字段是指登录的主机,IP就代表登陆主机的IP,也可以是主机名。如果想通过固定IP访问数据库,就可以将host字段设置为自己的固定IP即可。
2、实现远程登录
其实在上面已经说了,可以将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了。
3、也可以通过修改user表中host字段来实现远程连接
mysql>use mysql;
mysql>update user set host = '%' wher user = 'root';
这样远端机器也可以通过root用户访问服务器上的MySQL了。