问题描述:今天mysql服务突然无法启动,mysqld一直陷入启动等待中,回滚操作重启电脑无效,进行故障排查,检查发现mysql中data文件夹及my.ini配置文件丢失。
解决思路:1.手动配置my.ini文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\Program Files\\MySQL\\MySQL Server 5.7
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.重新初始化data文件夹。以管理员身份启动cmd.exe;在本地数据库bin目录下运行mysqld
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
mysqld --initialize-insecure
3.重新启动mysql服务
net start mysql
还是遇到问题:
继续排查错误:查看DESKTOP-QOM0TG3错误文件,未记录错误信息;
查看mysql端口3306是否被占用
netstat -ano|findstr "3306"
发现3306端口没被占用,杀死mysqld进程后重启服务,仍然无法启动
思路三:检查mysql服务是否正确安装
操作过程:
1.管理员权限cmd的bin目录下,移除现有的mysqld服务。
2.bin目录下执行mysqld -install
3.重启mysql服务
1 #删除安装好的mysql服务,出现Service successfully removed.
2 mysqld -remove MySQL
3 #重新安装mysql,出现Service successfully installed.
4 mysqld -install
5 #重启mysql服务
6 net start mysql
终于成功了。。。
经过认真回想,应该是上午在服务中启动mysql,中断启动并将启动类型由手动改为自动导致的