关于 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
现在,应该就可以使用新密码正常访问数据库了,真特么起死回生啊!!!
【点我,进入正常的解决方法】(仅适合还没用前面方法被带进坑的童鞋)