安装mysql8 遇到的很多坑,还有重置密码的问题

本文详细介绍了MySQL8在安装及使用过程中遇到的重置密码问题及其解决办法。包括如何通过修改配置文件来绕过密码验证,更新用户表中的认证字符串以及正确的密码修改流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装mysql8

安装借鉴官方文档以及其他博友的文章

下面开始赘述遇到的坑,还有解决办法,希望能对大家有用

  • 重置密码的问题
    按照文档修改默认密码后,然后再次登录,提示登录失败
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我的操作流程是,按文档走的

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 

然后修改可以然所有用户登录的权限

update user set host='%' where user='root'; 

后来退出再重新登录一直总是提示

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

试过很多办法无法解决,特别是在user表中没有了password这一列
解决办法
感谢博友提供解决方案mysql8重置密码的问题

vim /etc/my.cnf
在末尾加入 skip-grant-tables 后,不验证密码
然后
use mysql;
update user set authentication_string=” where user=’root’;
将 authentication_string置空

接下来就注释掉 /etc/my.cnf 文件里的 skip-grant-tables
service mysqld restart
mysql -uroot -p
不用输入密码直接按回车键
登录成功
ALTER user ‘root’@’%’ IDENTIFIED BY ‘Newpassword!’;
注意我这是 ‘root’@’%’
坑点在与之前是’root’@’localhost’ 修改的密码,后来
update user set host=’%’ where user=’root’;
改成了’root’@’%’ 退出后密码就不能登录了

坑点二,卸载重新安装后使用默认密码都不能登录

因为除了卸载完rpm 包,没有删除所有mysql文件
find / -name mysql
rm -rf 文件名

感谢网友的分享,所以分享很重要,希望能解决大家遇到的坑

### 如何在 Windows 上重置 MySQL密码 #### 停止 MySQL 服务 在执行任何操作之前,需要先停止正在运行的 MySQL 服务。可以通过以下两种方式完成此操作: 1. 使用 **Windows 服务管理器**:按下 `Win + X` 键组合,选择“计算机管理”,导航至“服务”选项卡,找到名为 `MySQL` 或类似的条目,并将其状态设置为“已停止”。 2. 使用命令行工具:打开一个新的 CMD 窗口(建议以管理员权限运行),输入以下命令来停止服务: ```cmd net stop mysql ``` #### 启动 MySQL 安全模式 启动 MySQL 并跳过授权表验证可以允许无密码访问数据库实例。具体步骤如下: 1. 打开一个 CMD 窗口,切换到 MySQL安装目录中的 `bin` 文件夹。例如,如果你的 MySQL安装到了默认路径,则可以使用以下命令进入目标文件夹: ```cmd cd C:\Program Files\MySQL\MySQL Server 8.0\bin ``` 2. 输入以下命令以启用安全模式并忽略授权表检查: ```cmd mysqld --skip-grant-tables --console ``` 如果遇到 TCP/IP 配置错误或其他问题,可尝试附加更多参数,如 `-nt`, `--shared-memory`, 和指定端口号等[^3]。 #### 登录 MySQL 数据库 在同一目录下再开启另一个 CMD 窗口用于登录 MySQL 实例。此时无需提供密码即可直接通过根用户身份连接服务器: ```cmd mysql -u root -p ``` 当提示输入密码时只需按 Enter 即可通过认证过程[^1]。 #### 更新 Root 用户密码 一旦成功登录之后便能够更改账户凭证信息了。对于不同版本号之间存在差异需要注意调整SQL语句结构;低版次可能适用下面这种形式而较高者则需替换字段名称由 password 改成 authentication_string[^1]: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的强密钥'; FLUSH PRIVILEGES; ``` 这里假设新设定了字符串作为例子展示效果,请记得实际应用当中采用复杂度更高的字符组合提升安全性水平! #### 重启常规模式的服务进程 完成了上述所有设定动作以后,应该依次结束先前处于特殊工作状况下的终端会话以及关联程序实体对象们。最后按照标准流程恢复正常的守护线程运作机制即告一段落啦。 ```cmd net start mysql ``` ### 注意事项 在整个过程中可能会碰到各式各样的麻烦事发生呢,所以要是碰壁的话也不要气馁哦~试着查阅相关日志文档寻找蛛丝马迹吧,这招屡试不爽哟!记住这条救命稻草般的指令——`mysqld –console`可以帮助我们定位很多棘手难题所在之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值