1.看连接地址是否正确,端口是否正确
2.看目标host上数据库服务是否开启
3.看连接字串是否正确,尤其是用户名,密码
如果上面的问题都检查过没问题的话,基本可以确定是数据库权限配置问题了,下面以mysql5.0数据库为例说明解决方法
在数据库服务器上使用root账户登录数据库,运行sql语句
GRANT 权限 ON 数据库.表 TO '用户'@'clienthost' IDENTIFIED BY '密码' WITH GRANT OPTION
例如
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
这句话将所有数据库所有表的所有权限赋予从任何客户机登录的root账户,需要密码进行验证。
建议不要使用root账户从远程登入,这个有可能会阻止在本地使用root账户,还要通过远程的方式修改root权限才能在本地使用root,可以使用下面的sql:
GRANT ALL PRIVILEGES ON somedb.* TO 'someuser'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
这句sql将somedb的所有表的所有权限赋予了someuser用户,如果原来数据库没有someuser这个用户,那么将以现在的权限配置创建新用户,如果已经有了该用户则只是修改其权限。
至于具体权限如何分配,可以查看mysql帮助文档。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。