解决:安装MySQL 5.7 的时候报错:unknown variable ‘mysqlx_port=0.0‘

1. 背景

  • 吐槽1,没被收购之前可以随便下载,现在下载要注册登录
  • 吐槽2,5.7安装到初始化数据库的时候就会报错,而8.x的可以一镜到底,一开始以为是国区的特色问题,google了一圈,各个国家的人都遇到过,一视同仁了属于是
  • 吐槽3,这个问题居然搜了一圈,没有特别明确的解决方案,所以就有了这个文章了

2. 解决步骤

  • 官网下载5.7版本的,这是官网地址,直接双击安装,一路默认选项不用改,中间要填一下root的密码,一直到报错,如下图:
    在这里插入图片描述
  • 点开Log,里面提示的就是标题写的,无法识别的参数“mysqlx_port=0.0”,大写的疑惑啊,官方的安装程序都不能跑?
  • 这个时候不管如何改,都没用了,用官方的安装程序就到这,接下来是手动操作模式
  • 第一步:找到my.ini文件,推荐用everything,下载地址,如果前面的安装程序都是默认选择的话,那my.ini的位置应该是C:\ProgramData\MySQL\MySQL Server 5.7\my.ini,找到my.ini文件后,搜索一下报错的参数mysqlx_port=0.0,其实就在最后一行,注释掉(这时候可能以为重新用官方安装程序能够继续下去,其实不能,每次它都会重新生成my.ini,然后mysqlx_port=0.0又出现了!)
  • 第二步:如果前面的安装程序都是默认选择的话,那mysql的data文件应该在C:\ProgramData\MySQL\MySQL Server 5.7\Data,打开这个目录,把里面的文件删光
  • 第三步:找到mysqld.exe文件,可以用上一步推荐的everything,如果前面的安装程序都是默认选择的话,位置应该在C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe,找到这个文件后,在这个目录下打开cmd,最方便的方式是直接地址栏输入cmd,回车
  • 打开cmd窗口后,构建这样一个命令:mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console --initialize-insecure,然后回车
  • (可选)有可能遇到这样的一个错误,是编码问题,打开上面找到的my.ini,另存为,选编码格式为ANSI,覆盖掉之前的那份my.ini,然后重新运行mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console --initialize-insecure
    在这里插入图片描述
    在这里插入图片描述
  • 上面那一步没有报错的运行到最后,代表离成功不远了,接下来构建这样一个命令mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console ,意思是在cmd里直接运行MySQL
  • 然后在C:\Program Files\MySQL\MySQL Server 5.7\bin\这个目录下再新打开一个cmd窗口,输入命令mysql -u root,直接进入MySQL了,是的,不用密码
  • 接下来,给root用户加个密码,在MySQL内部,输入命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';(分号必须要!!!这里的123456就是新密码,可随意),回车
  • 刷新权限命令:FLUSH PRIVILEGES;(分号必须要!!!),回车
  • 退出MySQL命令:EXIT;,回城
  • 接下来验证一下密码生效了没,上一步退出来的cmd里输入:mysql -u root -p,再输入密码123456,ok,如愿进入MySQL了,这时候其实MySQL已经可以在电脑里运行了,但是是cmd运行的方式,每次都要手动输入,太麻烦了,做成系统服务,开机自动启动
  • 先把上面手动运行的MySQL关掉,然后打开任务管理器,如果任务管理器之前打开了,就关了重新打开,切到服务页,找MySQL字眼的服务,右键,开始,如果能够正常启动,就表示服务版的MySQL装好了,以后开机自动启动。
  • 目前观察到win11家庭版的系统,不能用上面的方式启动MySQL服务,还找不到原因,贴一个bat命令,可以手动点击开启MySQL,新建一个txt文件,把后缀改成bat,然后把下面的代码复制进去,保存退出,尝试双击打开,如果cmd窗口不会自动关闭,保持运行,说明MySQL运行起来了
@echo off
echo Starting MySQL Server...
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console
echo.
echo MySQL Server started. Press any key to exit...
pause >nul

over,enjoy!

相关推荐

  1. 记一下mysql安装过程中遇到解决

    2024-06-14 12:32:02       25 阅读
  2. 解决使用ip来访问MySQL问题

    2024-06-14 12:32:02       40 阅读

最近更新

  1. MySQL中的JOIN、LEFT JOIN、RIGHT JOIN讲解

    2024-06-14 12:32:02       0 阅读
  2. 学懂C#编程:C# 索引器(Indexer)的概念及用法

    2024-06-14 12:32:02       1 阅读
  3. c语言数据结构--链队列

    2024-06-14 12:32:02       1 阅读
  4. Ubuntu 22.04 设置swap交换空间

    2024-06-14 12:32:02       1 阅读

热门阅读

  1. IP地址简介

    2024-06-14 12:32:02       8 阅读
  2. 介绍spark中的模型选择与验证技术

    2024-06-14 12:32:02       10 阅读
  3. C++中的中介者模式

    2024-06-14 12:32:02       10 阅读
  4. linux段异常信号量

    2024-06-14 12:32:02       9 阅读
  5. 黑苹果/Mac如何升级 Mac 新系统 Sequoia Beta 版

    2024-06-14 12:32:02       12 阅读
  6. 文本相似度的三种算法

    2024-06-14 12:32:02       11 阅读
  7. WPS中XLS表格使用的技巧记录

    2024-06-14 12:32:02       11 阅读
  8. 2024年湘潭大学软件体系结构考试总结

    2024-06-14 12:32:02       8 阅读