今天,由于一个项目需要把部分数据导入到数据库中,所以又重新使用许久未用过的MySQL了。
回忆一下解压版的MySQL的使用方式,进入命令行,切换到MySQL目录下,输入命令
>mysqld -install
>net start mysql
发现服务无法启动,错误提示是3523,就像这样↓↓↓↓
上网找不到相关的解决办法,后来又折腾了好久,重新安装服务,修改注册表等方法全用过了,还是无法启动服务。
我猜想会不会是data目录出现问题,然后就试着输入命令重新进行初始化
>mysql --initialize-insecure --user=mysql
这次又出现其他问题,原来是my.ini文件有问题:
然而,对my.ini里面的配置一一进行排查,没发现有任何问题。
找了很多文档和博客,也查不出问题出在哪。
后来突然想到,可能是因为windows下的文件可能会有某些隐藏的字符,从而导致了读取my.ini的时候会出现问题。
在sublime里面新建了文件,把行结束符改成unix下的,把原来my.ini的配置在新文件里面输入了一遍,然后覆盖保存,再重新运行命令,终于解决问题了!
总结:
在windows下新建文本文件后把文件重命名为my.ini的时候,可能会有某些隐藏的文件头也被添加进去(个人猜测,有待探究,因为之前曾经在linux下处理windows的文件时发现一个奇怪的文件头^M,故作此猜测)
另外也有可能是因为在linux下的换行符是"\n",而在windows下是"\r\n",所以在读取配置文件的时候出现错误。
因此,在初始编辑my.ini时,最好在原先的my-default.ini文件基础上进行修改,或者在其他的文本编辑器里面进行修改,避免在windows下直接新建文本文件再重命名作为配置文件,避免因编码问题导致的错误。