缘起
被这linux的mysql折磨了,写下这篇文章消消气!3个小时啊。。
系统环境:linux系统,CentOS7,FinalShell,mysql 8.0.26
开始
1、su,进root权限
2、 systemctl start mysqld,开mysql
3、mysql -u root -p输密码后,给我整这出ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)。玩呢!密码正确的复制粘贴,没用,打这个命令,
grep 'temporary password' /var/log/mysqld.log,使用随机生成的密码,没用!(各位可以试试这个能不能进)
4、行了,改密码!打vim /etc/my.cnf,进入文件编辑器,输入i进入到vim的插入,到最后一行,输入skip-grant-tables功能是跳过密码校验,这时!按下esc!输入“:wq”保存退出!
5、重启mysql,systemctl restart mysqld,重新登录,直接回车不输密码!刷权限,flush privileges;
6、改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';如果报错且信息是no satisfy,改密码的定义,set global validate_password.policy = 0;
set global validate_password.length = 4;密码最小长度。
7、修改成功,exit,退出数据库,再次 vim /etc/my.cnf,进入并删除跳过密码校验的代码(输入i,然后回撤键删除),wq退出。然后重新登录,输入密码,成功!
网上的有些文章啊,代码都给我个打错的!老报sql错误!点名批评!我的复制粘贴即可!折磨我一个就够了,别折磨看我文章的xdm!提醒,保存你修改后的密码在记事本里,免得忘了。。。