环境:mac版本10.12.3,MySQL旧版本5.7.10
很久之前就是在搭这个blog的时候,在本机安装了MySQL,为了本地测试下,之后就再没有动过。如今转向后端开发,又开始接触MySQL,结果就出了问题,旧版本的MySQL卸载不干净,以至于不论用什么方法装上的新版本MySQL中用户密码版本都不会变,百度了很多办法也无法解决后,最终还是转投了Google(这里倒并不是黑百度,因为最终的解决办法和百度到的很接近,只不过少了两步,估计是搬运的人没搬齐全吧)。
以下是解决方法,一定严格的每一步都执行下去,同时我把我认为的点注释出来:
- ps –ax | grep mysql //获取mysql的进程,开头的数字就是进程的pid
- stop and kill any MySQL processes //可以直接kill -9 pid,但是我用上一条查出来的是mysqld的一个进程,kill的时候提示我没有权限,在活动监视器里也无法强制退出,用了如下来自stackoverflow的解决办法:sudo mysqld stop 一定注意关掉mysql相关进程是必须的,我这里查出来是一条,也可能会有不止一条,一定全部关闭
- brew remove mysql // brew开头这两点是使用homebrew安装的MySQL的选择,如果没有则不用
- brew cleanup
- sudo rm /usr/local/mysql // rm命令就是删除命令了,搭配起来删除所有的MySQL相关的文件,会有几条提示没找到相关文件,也不用担心
- sudo rm –rf /usr/local/var/mysql
- sudo rm –rf /usr/local/mysql*
- sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
- sudo rm –rf /Library/StartupItems/MySQLCOM
- sudo rm –rf /Library/PreferencePanes/My*
- launchctl unload –w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
- vim /etc/hostconfig and remove the line MYSQLCOM=-YES– //这个文件我这里也没有,注意and开始后面是教你如何做的,不要一起复制进去
- rm –rf ~/Library/PreferencePanes/My*
- sudo rm –rf /Library/Receipts/mysql*
- sudo rm –rf /Library/Receipts/MySQL*
- sudo rm –rf /private/var/db/receipts/*mysql*
- restart your computer just to ensure any MySQL processes are killed // 重启也很重要,都删完之后重启,继续运行第一条看还有没有,不过我这里有一个干扰项,我仍然查到了一条mysql进程,不过并没有运行,但是在活动监视器中搜索已经没有了MySQL进程,这时候就可以重新安装了,大功告成。
- try to run mysql, it shouldn’t work
至于如何安装MySQL,可以使用homebrew,或者直接MySQL的官网下载,我的新版本即是在官网下载的,其实我总觉得官网下载的installer稳妥点,会配置的稍微好点,当然也可能是心理作用。
参考文献:
删除MySQL:
Uninstall all those broken versions of MySQL
How to stop mysqld – stackoverflow
安装MySQL:
官网:MySQL Website 推荐dmg的版本