配置清单:
MacbookPro OS X EI Capitan 10.11.6
Mysql 是官网下载 dmg 文件 5.7.18 版本
数据库管理软件是 DataGrip
今天一早起来重启MAC 后发现MySQL 服务无法启动,
怎么点击都无法启动,在控制台中查看也是不断的尝试重启。
百度了一个早上,各种方法都用了,
第一种方法:
由于MAC 控制台中提示的信息是:
mac mysql service only ran for 2 seconds .pushing respawn out by 9 seconds
所以就用这搜索
http://www.tuicool.com/articles/IzYJVzI
用了这个老兄的方法,但是我这个是DMG 文件 自己在官网下载安装的不是再homebrew 上面安装的,使用了也没有任何效果。
于是我就想从MySQL命令行中操作一下试试,
在输入MySQL 账户和密码的时候 就提示了另外一个错,如下:
于是我就搜索了这个错误以为是什么文件丢失或者损坏了。
找到了这个老兄的博客:http://blog.csdn.net/qq_30939539/article/details/51927978
真的感觉已经很靠谱了,但是还是不行,期间重装软件尝试了很多次。
而且执行卸载软件的最后三句话的时候,有两句是没有效果的,我始终感觉没有删除干净。
在我准备放弃的时候,我准备再重新安装最后一次的时候,我突发来了个想法,
是不是/etc/my.cnf 文件没有删除的原因,(该文件是我以前为了解决MySQL 中文插入乱码时手动修改添加的)
删除之后好了(尝试了好几次,真的是该文件的原因)。
一定要把残留的文件全部删除(包括自己配置的)!!!
安装MySQL 的第二个问题,
当服务可以启动的时候我的账户密码又不对,真是醉了。
之前我也遇到过这个问题,搜到一些帖子是重新安装,但是我实在不想在重新安装了,找到下面这个方法:
http://blog.csdn.net/u013700383/article/details/50767845 出处还是要贴一下的。
亲测有用,管理软件是DataGrip 连接也是成功的。
(当天晚上重启电脑之后这个密码又不管用了,又连接不上了,又折腾了好久,找到如下解决办法,
http://blog.csdn.net/u010260891/article/details/54136877 5.7版本后的MySQL 修改密码
在mysql 5.7以前的版本,密码列的英文名是password,但是在5.7版本改成了authentication_string,这点是需要注意的。)
下面的话是应该就是第三步了,测试数据库中文乱码问题:
晚上启动项目是发现还是不能中文,有折腾了好久,模仿了一个Linux 系统下安装5.7.18版本的 尝试着做了一些处理 ,使用了好几个方法,
http://www.cnblogs.com/wy123/archive/2017/05/05/6815049.html Linux下安装MySQL 5.7.18
5.7.18 版本是没有.cnf 文件的 网上有好多提示 搞一个.cnf 文件 修改后放到 etc文件夹中,我找了半天都没有,后来自己造了两个一个mydefault.cnf ,my.cnf 两个文件夹,分别放在 support-files 和 etc 文件夹下 ,(我还是有点不太确定)但是中文确实是可以插入了。
其实还是有问题,就是无法停止和启动,只能通过重启电脑才能更换配置,有能解决的朋友给个意见,感激不尽。
6月22日 再次更新编辑,其实我19号那天我并没有处理好 MySQL 的问题,今天上班时重启电脑时 MySQL 一样没有登录,在公司大牛的帮助下处理,原来我使用上面的方法处理其实并没有处理完全,而且一直存在mysql_safe 模式下,类似安全模式的一种,首先我是因为MySQL 停没有办法停,启动没有办法启动
(我自己使用dmg安装的Mysql ,安装路径为/usr/local/mysql-5.7.18/,出现的问题是点击StartMysqlServer 没有办法停止 ,或者在停止状态下无法启动)
大牛通过命令查看 mysql 的进程,并通过Kill 命令来终止进程
但是每次终止进程后该服务会自己启动,所以点击“系统偏好配置”中MySQL 的启动停止按钮没有用,
中间大牛又干了一些我看没看懂的操作,说下主要原因是因为安装的MySQL/data/ 的文件夹 以及 文件夹中的内容 权限不够,同事将权限改为 777 (没搞明白 回来看一下)
然后重新启动MySQL 就可以了。
另外接下来就是MySQL 的密码问题了,
其实是我之前连接命令行的方式不正确,不是安装时MySQL的初始化随机密码不正确。
(还好我之前把随机密码记下来)
MySQL5.7.18版本第一次通过命令行登录时是需要强制修改初始化密码的。。。。 (且对密码强度是有要求的,类似123456的密码 或者 是root 是过不去。)
SET PASSWORD = PASSWORD('123456'); 修改密码的命令
FLUSH PRIVILEGES; 修改完成之后需要刷新权限
quit ;退出(原来结尾的分号是需要的)
问题基本上全部解决了。