问题描述
在 Windows 10 64 位系统下,免安装 MySQL 启动 3534 错误处理 解决后,因安装时未配置密码,则按照网上教程在 my.ini
配置文件内的 [mysqld]
项下添加 skip_grant_tables
,控制台使用命令 mysql -u root -p
,进入 mysql 命令行(参考文章 详见),然而并未像参考文章内描述的那样解决问题,控制台出现如下错误:
问题处理
尝试了很多教程均不可以,最后考虑是否是 mysqld --initialize
命令导致的问题,尝试查找官网的安装教程,发现该命令初始化数据库时,还会自动生成一个随机密码:
然后问题就是随机生成的密码在哪里,这个可以在[官方安装教程]底部看到,明确指出生成的密码在 data
目录下的错误日志里:
按说明到 data
目录下,可以看到类似下面的错误日志:
在错误日志内可以查看到对应生成的随机密码:
使用该密码,正常进入 mysql 命令行模式,之后就可以尝试使用更新语句来更新 root 账号密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
问题总结
在之前配置时出现 3534 错误,通过 mysqld --initialize
命令来完成初始化,会对应生成随机密码,并会标记 'root'@'localhost'帐户密码
过期,然后在错误日志显示输出随机密码。使用该随机密码,即可以登录 mysql 命令行模式,然后修改 root 密码,至此,才算配置完成。
通过官网配置教程,发现还有另外一个命令 mysqld --initialize-insecure
,使用该命令初始化数据库时,不会生成随机密码,而是直接标记 'root'@'localhost'帐户密码
过期,在错误日志内输出类似如下的提示信息:
[Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
官方对于两个命令的说明如下:
使用 mysqld --initialize-insecure
命令初始化数据库后,启动服务,直接通过命令 mysql -u root -p
(提示输入密码时直接回车)即可进入 mysql 命令行模式。
注意: 数据库配置文件 my.ini
不需要配置 skip_grant_tables
!
参考
- 官网免安装配置教程
mysqld --initialize
命令官网说明mysqld --initialize-insecure
命令官网说明- MySQL-深入分析 MySQL ERROR 1045 出现的原因
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于