赞
踩
前段时间在服务器上安装一个MySQL数据库,结果在安装界面就显示初始化数据库错误
点击Execute之后,MySQL服务也无法启动,在服务界面里显示本地计算机上的本地计算机上的Mysql57服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止。
通过查看log,我们会发现,是my.ini文件的mysqlx_port=0.0这个参数出现了问题
根据查阅资料,我们发现,这个参数是为MySQL8配置的,但是我们的MySQL5.7却无法识别这个参数,所以会导致报错。
知道原因了我们也就知道如何解决了,使用VScode编辑my.ini文件,这个文件的路径通常是在C:\ProgramData\MySQL\MySQL Server 5.7底下。
注意!请不要用记事本打开编辑保存,否则MySQL会无法正确读取本文件!!!
将这段注释掉后,将C:\ProgramData\MySQL\MySQL Server 5.7\Data这个文件夹删除,打开命令行,输入
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console --initialize-insecure=on --lower-case-table-names=1
如果控制台显示这个,则说明已经成功了。再次启动MySQL服务则会发现启动成功。
但是有些朋友可能就要讲了,这样配置一是并非完全通过官方安装程序进行配置,有些人有强迫症,而且如果下次再次通过官方程序安装或者修改配置时,安装程序会覆盖一个默认的my.ini文件,这样就会又报错。二是这样创建的MySQL的root的密码是空,会有安全隐患。那么该如何彻底解决这个问题呢?
进入C:\ProgramData\MySQL\MySQL Installer for Windows\Manifest\Templates这个路径,将里面的my-template-5.7.ini文件里的mysqlx_port=0.0给注释掉(不要用记事本编辑!!!)。这样就完美解决问题了!
总结,这就是MySQL安装程序的锅,不知道Oracle的程序员是怎么想的。。。
而且2024年了,怎么还有单位用MySQL5.7啊!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。