刚装好MySQL准备大展身手,结果发现登录不进去?系统自动生成的默认密码根本找不到?别慌!我之前第一次用MySQL的时候,在登录环节卡了整整两小时,眼睁睁看着命令行不断弹出”Access denied”的红色警告。今天就把我踩过的坑都给你填平,教你四种绝对能成功修改密码的方法。
先说重点:MySQL默认安装后其实有个临时密码,存在系统日志里。打开终端输入sudo grep ‘temporary password’ /var/log/mysqld.log就能看到(注意不同系统路径可能不同)。拿到这个密码后,咱们要做的第一件事就是改掉它——就像刚租房子必须换门锁一样重要。
方法一:用mysql_secure_installation脚本
这个自动配置工具特别适合新手。输入命令后它会引导你:
1. 输入临时密码
2. 设置新密码强度规则
3. 删除测试数据库
4. 禁止远程root登录
整个过程就像安装向导,按提示操作就行。不过注意!如果中途手滑输错密码,可能需要重新启动服务。方法二:ALTER USER命令
登录MySQL后直接执行:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;
这里有个坑:如果密码太简单会被拒绝。这时候要么设置复杂密码,要么临时降低安全策略。建议新手先设置包含大写字母+数字+符号的8位密码,改完再调整策略。方法三:UPDATE修改系统表
不登录的情况下操作:
1. 停止MySQL服务
2. 启动无密码验证模式
3. 执行UPDATE mysql.user SET authentication_string=PASSWORD(‘新密码’) WHERE User=’root’;
4. 刷新权限表
这个方法适合彻底忘记密码的情况,但操作步骤较多,建议对着教程一步步来。方法四:配置文件跳过验证 在my.cnf文件的[mysqld]下添加skip-grant-tables,重启服务后就能免密登录。改完密码记得删掉这行!这招相当于给系统开后门,改完密码必须恢复原状。
常见问题解答
Q:为什么改完密码还是登录不上?
A:可能是权限没刷新,执行FLUSH PRIVILEGES;试试。或者是密码策略导致新密码不符合要求。Q:本地登录和远程登录密码要分开改吗?
A:是的!root@localhost和root@%是两个不同账户,需要分别修改。Q:密码总提示不够复杂怎么办?
A:临时降低密码策略:SET GLOBAL validate_password_policy=LOW; 改完再调回来。现在掏出你的电脑,随便选一种方法开始操作吧。记住,数据库安全无小事,别让默认密码成为黑客的突破口。要是卡在哪个步骤了,回头看看是不是漏了刷新权限或者没重启服务——这两个点最容易出错。
本站文章由SEO技术博客撰稿人原创,作者:阿君创作,如若转载请注明原文及出处:https://www.ainiseo.com/hosting/19367.html