用IP地址无法访问远程MySQL数据库
1、首先,利用Navicat创建一个数据库和表,数据库名为testdb,表为userinfo,并添加一条新记录。
2、当用如下的数据库连接字符串访问数据库的时候,是没有问题的。Driver = MySQL ODBC 5.1 Driver; Server = localhost; Port=3306; DATABASE = testdb; user = root; password = 123456;其中,Server是数据库所在主机IP地址,Prot是连接端口;user和password则为连接数据库的用户名和密码使用Select * from userinfo 可以正确获取到数据
3、但是当我把localhost换成实际的IP地址的时候,就报错了说明这个数据库testdb是默认没开启访问权限的,默认情况下只允许localhost和127.0.0.1访问
4、方案有两种:1、更新root账户的权限。打开mysq盟敢势袂l命令行窗口,输入grant all privileges on *.忮氽阝另* to root@"%" identified by 'abc' with grant option;flush privileges;上述语句的完整模板为:grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;flush privileges;测试,没有问题。
5、创建一个新账户,如guest,并将可被访问的主机定义为%,即所有主机都可访问该账户。测试,没有问题。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:23
阅读量:31
阅读量:76
阅读量:35
阅读量:85