先说一些没用的话,据说安装MySQL是无数数据库初学者的噩梦,我在安装的时候也是查了很多资料,看了很多博客,但是很多毕竟每个人的电脑有各自不同的情况,大家的报错也不尽相同,所以也是很长时间之后才安装成功。
一些软件的安装和环境配置有以下特点:对环境要求很高,同时对笔者这样的初学者很不友好,往往一点小的疏忽就会全盘皆失,网上的教程又不能保证能起到效果,极容易倒在迈出第一步上。而且安装不成功的话卸载会更加麻烦:卸载软件、删除相关文件夹、删除环境变量、删注册表等等 。最后要么重装系统要么永远也别想使用这个软件了,极其痛苦,
所以我希望总结一些学计算机的需要注意的东西,关于正确使用电脑的好习惯,能让你的电脑保持干净!(随时更新补充)
1、首先要有一个良好的文件组织模式,软件、工程、文档什么的分类放好。不要下载个什么东西在电脑中乱放,最后想找个什么文件找不到不说,这种方式最大的弊端就是出了问题的时候没法解决。
2、用户名、主机名、文件路径、变量路径等都不要出现中文(最好是连空格也不要有啦~),真的有无数计算机小白在这上面吃过亏了!能用英文的最好用英文,顺便还能锻炼下英语水平,更有希望过四级(doge)。
PS:还有一些小的经验,在写代码或者是安装软件、配置环境的时候,经常会出现很多报错,你要上网查资料查教程,但是最后却发现搞了一天甚至更长都解决不了,这是很正常的事情,千万不要觉得很烦或者觉得解决不了,只要耐心去弄,仔细看看报错,也许问题就会迎刃而解。在最开始接触Ubuntu的时候,从安装系统到各种下载安装软件各种报错、各种问题,那时候真是折磨得很,但是在处理报错的同时,水平也一定在慢慢提升,现在已经慢慢会看报错寻找问题解决问题了。
安装配置的时候一定要慎重,一个小错误就可能造成难以挽回的后果!
数据库初始化产生错误
日志如下:
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在生成初始化配置时出现乱码而错误。所以检查电脑名是否包含中文和空格。
Ended configuration step: Writing configuration file
首先,如果你在安装过程中遇到了红叉叉,那么先不要怕,将错就错,能点next的就点next,能点execute的就点execute,因为你既然出现红叉叉了,那么说明这次安装就已经寄了,那么你将要面临着重新安装的情况,随便上网查个教程,都是什么卸载程序再删除一堆文件夹还要挨个删除注册表删除环境变量,非常麻烦,所以可以利用MySQL的installer的remove功能。将错就错配置完环境的时候应该如下图所示
所以只需要直接点击旁边的remove就可以一键删除环境变量、软件、注册表这些东西,不比纯手删强多了?最主要的是这种方法删的干净,手删不仅麻烦还容易留下隐患,所以这种方法强烈推荐。
之后查看报错日志可以发现主要是数据库初始化出现了问题,既然可视化安装是没有办法了,所以选择使用命令行安装是一个很好的选择。
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文件的位置,系统会提示替换这个同名文件夹,直接点击继续(需要管理员权限)即可更改。C:\ProgramData\MySQL\MySQL Server 5.7\Data(注意:此处的ProgramData是C盘中的一个隐藏文件夹,需要在文件夹上方导航栏【查看】->【显示】->勾选【隐藏的项目】就可以找到了)
,打开这个目录,把里面的文件删光C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe
,找到这个文件后,在这个目录下打开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更改为你的版本号
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里直接运行MySQLmysqld --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
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
(分号必须要!!!这里的123456就是新密码,可随意),回车ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
(分号必须要!!!),回车FLUSH PRIVILEGES;
EXIT;
,回城EXIT;
mysql -u root -p
,再输入密码123456,ok,如愿进入MySQL了,这时候其实MySQL已经可以在电脑里运行了,但是是cmd运行的方式,每次都要手动输入,太麻烦了,做成系统服务,开机自动启动mysql -u root -p
参考文章:安装MySQL 5.7出现报错:unknown variable ‘mysqlx_port=0.0‘的解决方法_Mysql_脚本之家 (jb51.net)CSDN博客(因为安装的时候真的看了很多文章嘞)
提示:请勿发布广告垃圾评论,否则封号处理!!