首页 教程 服务器/数据库 【MySQL】【已解决】Windows安装MySQL8.0时的报错解决方案

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

一、引言

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

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

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

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

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

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

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

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

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

数据库初始化产生错误

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

日志如下:

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

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

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

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

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

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

三、解决方案

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

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

所以只需要直接点击旁边的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
  • 【MySQL】【已解决】Windows安装MySQL8.0时的报错解决方案
  • 上面那一步没有报错的运行到最后,代表离成功不远了,接下来构建这样一个命令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博客(因为安装的时候真的看了很多文章嘞)

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.15k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.21k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.13k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.08k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  483

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  309

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。