记录下mysql5.0升级到5.7.22后,启动服务报错的解决方法。
【需求】:mysql5.0升级到5.7.22版本
【参考链接】:https://www.jb51.net/article/116604.htm
https://blog.youkuaiyun.com/lovehappy108/article/details/51790634
【安装环境】:系统:window7。安装目录:D:\Work_Program_Files\mysql。
my.ini配置如下:
[mysqld]
# 设置mysql的安装目录
basedir=D:\Work_Program_Files\mysql
# 设置mysql数据库的数据的存放目录,必须是data
datadir=D:\Work_Program_Files\mysql\data
# mysql端口
port=3306
# 字符集
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
服务安装完后,注册表值有修改。将路径KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQL下的ImagePath值改掉实际mysql安装的路径,这个值我当时是C盘的一个路径,这边没改服务启动也会报错。
【问题描述】:mysql5.0下载后,升级到免安装版mysql5.7.22出错。通过net start mysql启动服务报3534错误代码,通过在cmd中输入mysqld --console命令查看日志,日志中有:table mysql.plugin doesnt exist的错误信息,该问题参考
https://www.jb51.net/article/116604.htm文章解决。该文中说输入mysqld --initialize --user=mysql --console命令进行初始化,但是初始化会报--initialize specified but the data directory has files in it.的错误,通过参考:
https://blog.youkuaiyun.com/lovehappy108/article/details/51790634文章进行解决。解决方法就是将mysql安装目录下的data目录中的文件删除(data文件夹保留),然后再输入mysqld --initialize --user=mysql --console命令进行数据库初始化(初始化过程中控制台会打印一个临时密码,记住该密码后续用于登录改密用)。初始化过程大概要几十秒到一分钟,该过程中data目录下会生成文件。初始化过程没有报错,然后输入net start mysql正常启动mysql服务。