关于 MySQL 允许 root 远程登录的解决方法

阿里云服务器环境(PHP+Nginx+MySQL)

【吐槽】我勒个去,照着网上的方法一样一样的敲,结果把我带进坑了,郁闷了整个上午,现把我踩的坑和解决方法呈现如下:

【网上带我跳坑的方法】(一定不要这么做

mysql> use mysql;
mysql> update user set host='%' where user='root' AND host='localhost';
mysql> FLUSH PRIVILEGES;

如果这么做了,在服务器用 root 登录 mysql 的时候会出现:

ERROR 1045 (28000) Access denied for user 'root'@'localhost' (using password: YES)

哈哈,爽歪歪,就特么这样被带进坑了,心中千万只草泥马在奔腾!!!

【补救方法,在终端依次输入以下的指令】

service mysql stop
mysqld_safe --skip-grant-tables &
mysqld --skip-grant-tables &

登录数据库,终端输入 mysql -uroot,然后依次输入以下命令:

mysql> use mysql
mysql> update user set password=password('你的密码') where user='root' and host='%';
mysql> quit;
service mysqld restart

现在,应该就可以使用新密码正常访问数据库了,真特么起死回生啊!!!

【点我,进入正常的解决方法】(仅适合还没用前面方法被带进坑的童鞋)

 

posted @ 2016-07-10 14:21  JorsonWong  阅读(728)  评论(0编辑  收藏  举报