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,并将可被访问的主机定义为%,即所有主机都可访问该账户。测试,没有问题。