环境:
ubuntu16
lnmp
mysql 5.7.22
今天在ubuntu上登录mysql
mysql -u -u root -p
报错提示
Access denied for user 'root'@'localhost' (using password: YES)
密码忘了…
由于环境是lnmp第一时间想到的是lnmp环境给的一键修改数据库密码脚本
wget http://soft.vpser.net/lnmp/ext/reset_mysql_root_password.sh
sh reset_mysql_root_password.sh
报错提示
Operation ALTER USER failed for 'root'@'localhost'
这个原因在后面查看发现是因为
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | mysqlbackups |
| % | mysqld |
| % | root |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+---------------+
%代表任意主机
网络上找到无需密码登录方式
/etc/init.d/mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
(启动参数skip-grant-tables,不启动授权表)
mysql -u root 登录
update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';
(更新密码,版本不同,字段不同,可以select * from mysql.user 查看字段)
/etc/init.d/mysql stop
/etc/init.d/mysql start 重启
找解决办法被很多无效方法影响,主要是版本,环境不同.
希望能找到对自己有用的解决方法