有时候建站的时候因为数据库和网站放在不同的IP,这个时候就需要用程序进行mysql的远程连接,而mysql因为安全的因素,默认的时候用户设置的是不能远程连接,只能本地连接,这个时候就需要自己去修改其中的设置。下面讲方法。

进入cmd命令模式。

mysql -h localhost-u mysql -p
Enter password:    ******

连接数据库。

mysql> use mysql;   (此DB存放MySQL的各种配置信息)
Database changed
mysql> select host,user from user; (查看用户的权限情况)
+-------------+-------+
| host            | user    |
+-------------+-------+
| localhost      |           |
| localhost      | root   |
| localhost      |           |
| localhost      | mysql |
+-------------+-------+
6 rows in set (0.02 sec)

由此可以看出,只能以localhost的主机方式访问。

mysql> Grant all privileges on *.* to 'root'@'%' identified by ‘password’with grant option;
(%表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,里面的password需要自己修改成root的密码)

mysql> flush privileges;  (运行为句才生效,或者重启MySQL)
Query OK, 0 rows affected (0.03 sec)

mysql> select host,user from user; (再次查看用户的权限情况)
+-------------+-------+
| host            | user    |
+-------------+-------+

| %                 | mysql |

| %                 | root   |
| localhost      |           |
| localhost      | root   |
| localhost      |           |
| localhost      | mysql |
+-------------+-------+

mysql>exit

现在再试试:从远程cmd那边看能不能登录,能登录的话,一般用代码也是可以连接的到的。


另外需要注意的是用户权限表是在mysql数据库的db表,里面详细记录了哪些用户有权限对哪几个数据库有操作的权限,这个对多用户的管理比较重要。