mysql 5.7.18 无法在 Windows 10 上启动

Posted

技术标签:

【中文标题】mysql 5.7.18 无法在 Windows 10 上启动【英文标题】:mysql 5.7.18 failed to start on Windows 10 【发布时间】:2017-12-21 03:48:27 【问题描述】:

我确实在网上查找了诸如 very relevant post on SO 之类的解决方案,但无济于事。

这是我为win 10安装mysql并尝试启动它的步骤:

    下载mysql 5.7.18 zip文件并解压到我的app文件夹中; 以管理员身份打开“cmd”并运行“mysqld --install”,显示“服务安装成功。” 运行“net start mysql”,显示:
MySQL 服务正在启动。 MySQL 服务无法启动。 该服务没有报告错误。 键入 NET HELPMSG 3534 可获得更多帮助。
    运行“mysqld.exe --console”,它会分块出如下消息行:
2017-07-16T14:55:49.066437Z 0 [警告] 带有隐式 DEFAULT 值的 TIMESTAMP 已弃用。请使用 --explicit_defaults_for_timestamp 服务器选项(有关详细信息,请参阅文档)。 2017-07-16T14:55:49.077216Z 0 [注意] --secure-file-priv 设置为 NULL。数据导入导出相关操作被禁用 2017-07-16T14:55:49.081191Z 0 [注意] mysqld.exe (mysqld 5.7.18) 从进程 15872 开始 ... 2017-07-16T14:55:50.167310Z 0 [注意] InnoDB:互斥锁和 rw_locks 使用 Windows 互锁功能 2017-07-16T14:55:50.167310Z 0 [注意] InnoDB:使用事件互斥锁 2017-07-16T14:55:50.168434Z 0 [注意] InnoDB:_mm_lfence() 和 _mm_sfence() 用于内存屏障 2017-07-16T14:55:50.169398Z 0 [注意] InnoDB:压缩表使用 zlib 1.2.3 2017-07-16T14:55:50.195084Z 0 [注意] InnoDB:池数:1 2017-07-16T14:55:50.249204Z 0 [注意] InnoDB:不使用 CPU crc32 指令 2017-07-16T14:55:50.290217Z 0 [注意] InnoDB:初始化缓冲池,总大小 = 128M,实例 = 1,块大小 = 128M 2017-07-16T14:55:50.296068Z 0 [注意] InnoDB: 缓冲池初始化完成 2017-07-16T14:55:50.453825Z 0 [注意] InnoDB:支持的最高文件格式是梭子鱼。 2017-07-16T14:55:50.813667Z 0 [注意] InnoDB:为临时表创建共享表空间 2017-07-16T14:55:50.815630Z 0 [注意] InnoDB:将文件 '.\ibtmp1' 大小设置为 12 MB。物理上将文件写满;请稍等 ... 2017-07-16T14:55:51.040444Z 0 [注意] InnoDB:文件 '.\ibtmp1' 大小现在为 12 MB。 2017-07-16T14:55:51.062121Z 0 [注意] InnoDB:找到 96 个重做回滚段。 96 个重做回滚段处于活动状态。 2017-07-16T14:55:51.062590Z 0 [注意] InnoDB:32 个非重做回滚段处于活动状态。 2017-07-16T14:55:51.068603Z 0 [注意] InnoDB:等待清除开始 2017-07-16T14:55:51.128491Z 0 [注意] InnoDB:5.7.18 开始;日志序列号 1210018 2017-07-16T14:55:51.132269Z 0 [注意] InnoDB:从 C:\Users\jonat\opt\mysql-5.7.18-winx64\data\ib_buffer_pool 加载缓冲池 2017-07-16T14:55:51.133249Z 0 [注意] 插件 'FEDERATED' 已禁用。 mysqld:表 'mysql.plugin' 不存在 2017-07-16T14:55:51.165071Z 0 [错误] 无法打开 mysql.plugin 表。请运行 mysql_upgrade 来创建它。 2017-07-16T14:55:51.233060Z 0 [注意] InnoDB:缓冲池加载完成于 170716 10:55:51 2017-07-16T14:55:51.251567Z 0 [警告] Gtid 表尚未准备好使用。无法打开表“mysql.gtid_executed”。 2017-07-16T14:55:51.267669Z 0 [警告] 由于以下 SSL 库错误而无法设置 SSL:SSL 上下文在没有证书和私钥的情况下不可用 2017-07-16T14:55:51.272001Z 0 [注意] 服务器主机名(绑定地址):'*';端口:3306 2017-07-16T14:55:51.274922Z 0 [注意] IPv6 可用。 2017-07-16T14:55:51.278873Z 0 [注意] - '::' 解析为 '::'; 2017-07-16T14:55:51.281791Z 0 [注意] 在 IP 上创建的服务器套接字:'::'。 2017-07-16T14:55:51.308759Z 0 [警告] 无法打开优化器成本常数表 2017-07-16T14:55:51.310583Z 0 [错误] 致命错误:无法打开和锁定权限表:表 'mysql.user' 不存在 2017-07-16T14:55:51.311554Z 0 [错误] 中止 2017-07-16T14:55:51.312531Z 0 [注意] Binlog 结束 2017-07-16T14:55:51.314481Z 0 [注意] 关闭插件“ngram” 2017-07-16T14:55:51.314481Z 0 [注意] 关闭插件“分区” 2017-07-16T14:55:51.314481Z 0 [注意] 关闭插件“黑洞” 2017-07-16T14:55:51.315463Z 0 [注意] 关闭插件“存档” 2017-07-16T14:55:51.315463Z 0 [注意] 关闭插件“PERFORMANCE_SCHEMA” 2017-07-16T14:55:51.316444Z 0 [注意] 关闭插件 'MRG_MYISAM' 2017-07-16T14:55:51.319389Z 0 [注意] 关闭插件“MyISAM” …… 2017-07-16T14:55:52.615409Z 0 [注意] 关闭插件“binlog” 2017-07-16T14:55:52.618322Z 0 [注意] mysqld.exe:关闭完成

【问题讨论】:

请执行链接问题的第二个答案中列出的所有操作。你很可能没有做mysqld --initialize-insecure(或mysqld --initialize)。 太棒了!这样可行!非常感谢。 【参考方案1】:

在 MySQL 安装根目录下(假设是 c:\mysql),创建一个文本文件,比如 mypass.txt 并将这一行复制到其中:

ALTER USER 'root'@'localhost' IDENTIFIED BY '<yourpassword>';

奔跑

mysqld --initialize
mysqld --init-file=c:/mysql/mypass.txt

如果您想将 MySQL 作为 Windows 服务运行:

mysqld --install MySQLXY --defaults-file="c:/mysql/my.ini"

【讨论】:

以上是关于mysql 5.7.18 无法在 Windows 10 上启动的主要内容,如果未能解决你的问题,请参考以下文章

从 5.0.12 更新到 5.7.18 后无法启动 mysql

win7安装mysql-5.7.18

windows下mysql-5.7.18安装

Windows 7 下安装mysql-5.7.18-winx64.zip

MySQL5.7在Windows下的安装

windows10下 MySQL5.7.18版本安装过程及遇到的问题