默许情况下,mysql是不允许被远程调用的。而在项目开发进程中,这个情况是不能被躲避的。
安装mysql,这个免安装版的之前已在相干的博客介绍过了。
参见:Mysql免安装版安装配置及经常使用操作。
安装版下载:http://dev.mysql.com/downloads/mysql/
不管是安装好的数据库还是免安装的,mysql会自带1个名为mysql的数据库。而user表就是这个mysql数据库来保护的,所以我们操作其实也就是针对这个user的访问权限。问题清楚了,如果访问不了,
第1种情况:则是该user表中没有该用户也就是user表的user字段中没有该用户
第2种情况:该用户在user表中存在,而该用户没有访问其他表的权限,而权限具体也是由mysql的user、db、host 、table_priv、columns_priv这个表来保护的具体可以参考:
http://database.51cto.com/art/201010/229519.htm
问题明了,后面就是针对问题的具体处理
方案1:
登陆以后
Mysql>use mysql
查询user表是不是存在该用户及密码
Mysql>select host,user,password from user;
设置mysql的root无穷制访问远程调用
update user set host = '%' where user = 'root';
grant all privileges on *.* to root@'%' identified by "root";
方案2:创建用户,给用户授权
//创建指定密码,指定host的用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
Host:需要被访问的mysql服务器地址/username:用户名password:密码
GRANT ALL PRIVILEGES ON user.* TO “username”@”IP” IDENTIFIED BY "123456"
Username则为登陆用户名,IP则为需要远程登陆mysql的服务器地址。