MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)

安装mysql后,有的用户既想在本地访问,又想远程访问。

mysql -h host -uroot -ppassword 出现错误:

MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)

这是因为你没有进入mysql的权限,你的主机没有在mysql的user表里存储,或者用户名或者密码不正确。

1.跳过授权,进入mysql:

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

2.赋予足够的权限

grant all privileges on *.* to 'root'@'%' with grant option;

将权限导入内存,可以不用重启mysql来查看是否正确执行权限

flush privileges;

3.重新配置用户密码

>use mysql

>UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

4.sudo service mysql restart

成功。这样就既可以从内网又可以从外网访问数据库了。

附:

如果user表里没有记录,就得手动添加:

INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'username', PASSWORD(‘yourpassword'), 'Y', 'Y','Y'); 

注释/etc/mysql/my.cnf里的记录

bind-address =127.0.0.1

发布了55 篇原创文章 · 获赞 31 · 访问量 19万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章