mysql 密码忘了重置
装的好好的mysql,设置密码的时候,手一抖,点了确认,默认密码复杂又难记,给忘了,怎么着也登不上去。只好重置密码了。
我的环境 ubuntu20.04 mysql5.7
以下步骤是按照序号来的。序号上面的 # 号注释是对应步骤如果出错的解决方案
# 一
sudo service mysql stop
# 二步骤如果报错 mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists
# 可使用以下命令
# mkdir -p /var/run/mysqld
# chown mysql:mysql /var/run/mysqld
# 二
sudo mysqld_safe --skip-grant-tables --skip-networking
# 三 重开一个 shell
# 四步骤可能报错 ERROR 1290 (HY000): The MySQL server **。。。
# 可使用以下命令
# flush privileges;
# 也有可能报错 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# 这是因为密码过于简单,需要设置较为复杂的。也可以更改密码校验标准
# SHOW VARIABLES LIKE 'validate_password%'; 查看MySQL初始密码规则
# set global validate_password.policy=0; # 设置密码校验等级为 低
# set global validate_password.length=4; # 设置密码长度最少为 4
# 四
UPDATE mysql.user SET Password=PASSWORD('你的密码') WHERE User='root';
# 五
flush privileges;
# 六
sudo service mysql start
# 七, 登录你的mysql验证
mysql -u root -p
# 如有其他问题,直接 reboot 机器。再登录 MySQL