该问题翻找了无数的博文,知道见到这篇文章,才彻底解决问题,写一篇自己记录一下,以免后期再继续浪费时间在这里
参考网址
https://www.cnblogs.com/RayWang/p/9347874.html
1、首先删除服务(没有的话不用删除)
C:\Program Files\MySQL\MySQL Server 5.7\bin>sc delete MySql
2、新建my.ini配置文件(其中basedir 和 datadir 根据实际MySql安装的位置进行修改。)
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = C:\Program Files\MySQL\MySQL Server 5.7
datadir = C:\Program Files\MySQL\MySQL Server 5.7\data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
3、重新生成data文件夹
删除之前生成的data文件,如果有重要的数据表,请先备份好。
回到cmd,重新生成data文件。运行:
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --initialize-insecure --user=mysql
该命令需要执行大概一分钟左右,完成后会在MySql程序文件夹下重新生成名称为data的文件夹:
4、重新安装mysql服务,同时绑定my.ini配置文件
“MySql57”是服务名称,57表示5.7版本,当然,也可以自己取别的名字。
”..\my.ini“是新建的配置文件的位置,也可以写成绝对路径”C:\Program Files\MySQL\MySQL Server 5.7\my.ini“。
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --install "MySql57" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.7\my.ini"
5、打开电脑的”服务“窗口,可以找到新添加的MySql57服务右键进行启动