解决:安装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!如果对您有帮助,感谢投喂!
在这里插入图片描述

  • 58
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值