mysql拒绝访问 Error 1044/1045 问题的解决



ERROR 1044: Access denied for user: '@127.0.0.1' to database 'mysql'
的错误。

在my.ini(linux 下是:my.cnf)的[mysqld]字段加入:

skip-grant-tables

重启mysql服务,这时的mysql不需要密码即可登录数据库
然后进入mysql

mysql>use mysql;
mysql>update user set password=password('新密码') WHERE User='root';
mysql>flush privileges;

运行之后最后去掉my.ini中的skip-grant-tables,重启mysqld


然后再
在服务器上用mysql -h 192.168.X.X -u root -p mysql命令登录mysql数据库

192.168.X.X 为服务器真实ip地址

然后用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;

flush privileges;

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

原文地址:https://www.cnblogs.com/lvlv/p/5222066.html