【MySQL】【已解决】Windows安装MySQL8.0时的报错解决方案

一、引言

        先说一些没用的话,据说安装MySQL是无数数据库初学者的噩梦,我在安装的时候也是查了很多资料,看了很多博客,但是很多毕竟每个人的电脑有各自不同的情况,大家的报错也不尽相同,所以也是很长时间之后才安装成功。

        一些软件的安装和环境配置有以下特点:对环境要求很高,同时对笔者这样的初学者很不友好,往往一点小的疏忽就会全盘皆失,网上的教程又不能保证能起到效果,极容易倒在迈出第一步上。而且安装不成功的话卸载会更加麻烦:卸载软件、删除相关文件夹、删除环境变量、删注册表等等 。最后要么重装系统要么永远也别想使用这个软件了,极其痛苦,

        所以我希望总结一些学计算机的需要注意的东西,关于正确使用电脑的好习惯,能让你的电脑保持干净!(随时更新补充)

        1、首先要有一个良好的文件组织模式,软件、工程、文档什么的分类放好。不要下载个什么东西在电脑中乱放,最后想找个什么文件找不到不说,这种方式最大的弊端就是出了问题的时候没法解决。

        2、用户名、主机名、文件路径、变量路径等都不要出现中文(最好是连空格也不要有啦~),真的有无数计算机小白在这上面吃过亏了!能用英文的最好用英文,顺便还能锻炼下英语水平,更有希望过四级(doge)。

        PS:还有一些小的经验,在写代码或者是安装软件、配置环境的时候,经常会出现很多报错,你要上网查资料查教程,但是最后却发现搞了一天甚至更长都解决不了,这是很正常的事情,千万不要觉得很烦或者觉得解决不了,只要耐心去弄,仔细看看报错,也许问题就会迎刃而解。在最开始接触Ubuntu的时候,从安装系统到各种下载安装软件各种报错、各种问题,那时候真是折磨得很,但是在处理报错的同时,水平也一定在慢慢提升,现在已经慢慢会看报错寻找问题解决问题了。

        安装配置的时候一定要慎重,一个小错误就可能造成难以挽回的后果!

二、安装MySQL时的报错汇总(点击旁边的log选项卡可以查看日志)

错误1:initializing database(may take a long time)

数据库初始化产生错误

日志如下:

Log日志:
C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.32) initializing of server in progress as process 4212
mysqld: File '.\婵犮垹鐏堥弲婊勬櫠閻樼粯鎲ユ俊顖涘绾捐棄銆?bin.index' not found (OS errno 2 - No such file or directory)
The designated data directory C:\ProgramData\MySQL\MySQL Server 8.0\Data\ is unusable. You can remove all files that the server added to it.
Aborting
C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.32)  MySQL Community Server - GPL.
Process for mysqld, with ID 4212, was run successfully and exited with code 1.
Failed to start process for MySQL Server 8.0.32.
Database initialization failed.
Ended configuration step: Initializing database (may take a long time)

注:出现了中文乱码,极有可能是可能是电脑名包含中文,导致Installer在生成初始化配置时出现乱码而错误。所以检查电脑名是否包含中文和空格。

错误2:未将对象引用设置到对象的实例

Ended configuration step: Writing configuration file

错误4:对路径的访问被拒绝

错误5:启动服务器时卡住(这个当时忘记截图~~)

三、解决方案

        首先,如果你在安装过程中遇到了红叉叉,那么先不要怕,将错就错,能点next的就点next,能点execute的就点execute,因为你既然出现红叉叉了,那么说明这次安装就已经寄了,那么你将要面临着重新安装的情况,随便上网查个教程,都是什么卸载程序再删除一堆文件夹还要挨个删除注册表删除环境变量,非常麻烦,所以可以利用MySQL的installer的remove功能。将错就错配置完环境的时候应该如下图所示

所以只需要直接点击旁边的remove就可以一键删除环境变量、软件、注册表这些东西,不比纯手删强多了?最主要的是这种方法删的干净,手删不仅麻烦还容易留下隐患,所以这种方法强烈推荐。

        之后查看报错日志可以发现主要是数据库初始化出现了问题,既然可视化安装是没有办法了,所以选择使用命令行安装是一个很好的选择。

  • 点开Log,里面提示的就是标题写的,无法识别的参数“mysqlx_port=0.0”,大写的疑惑啊,官方的安装程序都不能跑?
  • 这个时候不管如何改,都没用了,用官方的安装程序就到这,接下来是手动操作模式
  • 第一步:找到my.ini文件,如果前面的安装程序都是默认选择的话,那my.ini的位置应该是C:\ProgramData\MySQL\MySQL Server 5.7\my.ini,找到my.ini文件后,搜索一下报错的参数mysqlx_port=0.0,其实就在最后一行,注释掉(这时候可能以为重新用官方安装程序能够继续下去,其实不能,每次它都会重新生成my.ini,然后mysqlx_port=0.0又出现了!)因为此处的文件需要更高的权限才可以修改,所以这时候需要打开my.ini文件,到最后一行,将0.0改为0,注释掉,先另存到别的地方,然后再复制到原本的my.ini文件的位置,系统会提示替换这个同名文件夹,直接点击继续(需要管理员权限)即可更改。
  • 第二步:如果前面的安装程序都是默认选择的话,那mysql的data文件应该在C:\ProgramData\MySQL\MySQL Server 5.7\Data(注意:此处的ProgramData是C盘中的一个隐藏文件夹,需要在文件夹上方导航栏【查看】->【显示】->勾选【隐藏的项目】就可以找到了),打开这个目录,把里面的文件删光
  • 第三步:找到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,然后回车
  • mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure
    // 根据你安装的实际版本将上面的8.0更改为你的版本号

  • (可选)有可能遇到这样的一个错误,是编码问题,打开上面找到的my.ini,另存为,选编码格式为ANSI,覆盖掉之前的那份my.ini,然后重新运行mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure
  • 上面那一步没有报错的运行到最后,代表离成功不远了,接下来构建这样一个命令mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console ,意思是在cmd里直接运行MySQL
  • mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console 
    // 这里的版本号也要更改

  • 然后在C:\Program Files\MySQL\MySQL Server 5.7\bin\这个目录下再新打开一个cmd窗口,输入命令mysql -u root,直接进入MySQL了,是的,不用密码
  • mysql -u root

  • 接下来,给root用户加个密码,在MySQL内部,输入命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';(分号必须要!!!这里的123456就是新密码,可随意),回车
  • ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

  • 刷新权限命令:FLUSH PRIVILEGES;(分号必须要!!!),回车
  • FLUSH PRIVILEGES;

  • 退出MySQL命令:EXIT;,回城
  • EXIT;

  • 接下来验证一下密码生效了没,上一步退出来的cmd里输入:mysql -u root -p,再输入密码123456,ok,如愿进入MySQL了,这时候其实MySQL已经可以在电脑里运行了,但是是cmd运行的方式,每次都要手动输入,太麻烦了,做成系统服务,开机自动启动
  • mysql -u root -p

  • 先把上面手动运行的MySQL关掉,然后打开任务管理器,如果任务管理器之前打开了,就关了重新打开,切到服务页,找MySQL字眼的服务,右键,开始,如果能够正常启动,就表示服务版的MySQL装好了,以后开机自动启动。
  • 目前观察到win11家庭版的系统,不能用上面的方式启动MySQL服务,还找不到原因,贴一个bat命令,可以手动点击开启MySQL,新建一个txt文件,把后缀改成bat,然后把下面的代码复制进去,保存退出,尝试双击打开,如果cmd窗口不会自动关闭,保持运行,说明MySQL运行起来了
  • 到这一步,恭喜你已经成功安装了MySQL!

参考文章:安装MySQL 5.7出现报错:unknown variable ‘mysqlx_port=0.0‘的解决方法_Mysql_脚本之家 (jb51.net)CSDN博客(因为安装的时候真的看了很多文章嘞)

  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值