mysql grant deny_mysql提示1044: Access denied for use解决的方法

mysql5远程连接服务器时,出现类似:

ERROR 1044: Access denied for user: ‘@127.0.0.1’ to database ‘mysql’

的错误。

说明你没有将权限下放到远端连接帐户上,由于mysql的安全性在不断的提高,权限设置默认是拒绝的,你必须自己开放权限。

在服务器上用mysql -h 192.168.0.1 -u root -p mysql命令登录mysql数据库

然后用grant命令下放权限。

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY ‘root-password’ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO root@127.0.0.1 IDENTIFIED BY ‘root-password’ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ‘root-password’ WITH GRANT OPTION;

例如:

GRANT   ALL   PRIVILEGES   ON   *.*   TO   root@’%’   identified   by   ‘123456’

注意:自己根据情况修改以上命令中的 “用户”“ip地址”“密码”。

参考方法二

给新加的几个数据库备份,在执行mysqldump的时候,居然报mysqldump: Got error: 1044: Access denied for user ‘jpzen’@’localhost’ to database ‘information_schema’ when using LOCK TABLES,网上一搜,觉得有可能是权限问题,马上查看mysql里操作记录,执行tail -n 40000 .mysql_history|grep GRANT,发现只给SELECT,INSERT,UPDATE,DELETE这几个权限,为了在不改动权限的情况下,那只能用下面的方法.

那可能是你用来备份的数据库用户没有lock table的权限,可以换一个权限更高的用户,或者使用mysqldump的另一个选项:–single-transaction

mysqldump -uyourusername -pyourpassword –single-transaction yourdb > yourdb.sql //phpfensi.com

解决一:加上-skip-lock-tables选项即可,即:

[root@xok.la]# mysqldump -u dbuser -ppass db –skip-lock-tables > db.sql

解决2:使用root账户备份.

ps:在导出时,加上–skip-lock-tables选项即可,但这个方法在数据量过大的话,会出现卡死,所以最好经常检查下sql备份,避免在要使用备份的时候杯具.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值