正常使用的MySQL数据库,有时在重启电脑后,发现无法启动了!或是在开发时,可能经常会经常频繁的启动和停止MySQL服务,有时候会出现“服务正在启动或停止中,请稍候片刻后再试一次。”这样的提示,如下图所示。
而且,我们查看服务时,也可能会发现服务中的启动、停止、运行等全是灰色的,完全无法点击!
解决过程中,差点重新安装了数据库!因为我的mysql数据库中无配置文件:my.ini。原本以为是此原因!按网上搜索的方法,全都是要重新安装数据库,但里面还有重要的数据资料,重装数据库肯定是下下策了!于是,走另外一条路,尝试终于可行了!
而且,连强制的数据库初始化都无济于事,而且在任务管理器的进程下也无法找到mysqld的相关进程,不能强制性的结束进程。即便在计算机服务列表中有MySQL57这个服务,但是根本就不存在可用的让其停止或者启动的按钮(全部是灰色禁用的状态)。。。。
具体的教程如下:
1. 首先以管理员身份打开命令行窗口,注意是管理员身份,不然无权限访问。
2. 输入命令“tasklist| findstr "mysql"”,用于查找mysql的残留进程。果不其然,确实存在mysql的残留进程,难怪一直提示MySQL服务处于正在启动或者停止的状态中,此时要做的就是杀死MySQL进程。
3. 输入命令“taskkill/f /t /im mysqld.exe”,就可以将mysql残留进程全部杀死了,
4. 输入命令“tasklist| findstr "mysql"”,查看是否还留有有其他的mysql残留进程,如果还有,则继续杀死,直到完全杀死进程为止。
5. 当mysql残留进程全部结束之后,我们就可以正常启动MySQL服务了,如下图所示:
需要注意的是此时还是要以管理员的身份进入命令行窗口。
由上图,我们可以看到此时便可以顺利的访问数据库了。
如果不放心的话,可以继续测试一下,先停止MySQL服务,然后再次尝试启动和进行访问
可以看到MySQL此时可以做到正常的启动和停止服务了。
关于数据库迁移的问题,建议按下列方式处理:
如果将本地的数据库文件直接拷贝到数据库中的话,在拷贝之前务必保证MySQL数据库服务处于停止的状态,待文件拷贝完成之后,再尝试启动MySQL服务,此时便可以顺利在数据库中访问拷贝过来的数据库文件了,比直接在数据库中导入数据要快的多,尤其是导入上亿条的大数据,使用这种方法事半功倍。