今天在使用mysql时一直连不上,干脆手动连接(cmd 命令行net start mysql),结果报错误1067.参考网上的解决办法,如:重新安装mysql服务,移动my.ini的位置等。
最后都没能解决问题。
最后打算看看windows事务进程,发现启动mysql时确实发生了很多错误,其中有两条:
1.Can't start server: can't create PID file: Invalid argument.For more information, see Help and Support Center at http://www.mysql.com.
2.d:\mysql-5.6.24-win32\mysql-5.6.24-win32\bin\mysqld: Can't create/write to file 'D:\mysql-5.6.24-win32\mysql-5.6.24-win32\data\PC-20150427TSCT.pid' (Errcode: 22 - Invalid argument)
(我的存放路径为d:\mysql-5.6.24-win32\mysql-5.6.24-win32)
网上查了有说出现invalid argument说明是my.ini配置有问题,所以我就一边又一边的改my.ini,都没能解决问题。
最后我注意到描述里这一句:Can't create/write to file 'D:\mysql-5.6.24-win32\mysql-5.6.24-win32\data\PC-20150427TSCT.pid'(PC-20150427TSCT是我的计算机名)
既不可以创建又不可以写入该文件,所以我就尝试将该文件删除,结果发现该文件无法删除,文件的大小为0字节,并且报文件已损坏,磁盘发生错误。
所以我猜是不是自己电脑最近发生过几次蓝屏死机,造成硬盘文件损坏导致。
最后经过磁盘修复,终于解决这个问题了。问题就是磁盘文件出错,导致该文件既无法删除也无法覆盖重写。
另附其他的一些解决办法:http://www.111cn.net/database/mysql/48888.htm