由于项目开发的要求数据库的设计不得不用远程模式。但是数据库的远程设置并没那么简单,该项目的数据库是MYSQL5.0。刚开始以为只要装了数据库服务器就可以进行远程链接了,但是MYSQL的设置是为了用户的安全,系统默认的设置是不允许远程用户连接,只能本地的
由于项目开发的要求数据库的设计不得不用远程模式。但是数据库的远程设置并没那么简单,该项目的数据库是MYSQL5.0。刚开始以为只要装了数据库服务器就可以进行远程链接了,但是MYSQL的设置是为了用户的安全,系统默认的设置是不允许远程用户连接,只能本地的用户连接。
只要我们设置下系统的管理员用户的HOST这一项的值就可以给远程的用户访问了。
方法一:
用root用户登陆,然后:
grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";
flush privileges; * 刷新刚才的内容*
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
@ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为
本地访问(那此用户就不能远程访问该mysql数据库了)。
同时也可以为现有的用户设置是否具有远程访问权限。如下:
use mysql;
update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
以上的方法是网上找来的方法。
以下是本人自己的设置方法,是可视化的操作。
方法二:
在连接的下面有个mysql的数据库,这个是系统的数据库。里边有个user的数据表存储的是可以操作该数据库的用户信息。
打开表如下图所示,只要我们把用户名前面的host的值改成“%”就可以允许用户从任何的IP来访问这个数据库了。
其实原理是一样的,只不过这样会更简单。如果仍然无法连接,需要重新启动mysql服务。