MySQL 5.7 服务无法启动
笔者本人在装了MySQL5.7 一段时间后,突然有一天数据库连接不上了。在网上找了教程说去任务管理器的服务里面找MySQL的服务并且启动,然而,根本没有找到MySQL服务的影子,
这时候执行以下操作就行了,记住!!!以下命令均在MySQL安装目录的bin目录下运行,且以管理员身份:
1.安装MySQL服务
然后我去服务里找MySQL,吖!真找到了,
鼠标右键启动,一顿操作猛如虎,结果显示启动不了 !
2. 遂在谷歌上奋战了大半个小时终于解决了。刚开始网上找的教程(没解决):
(1)仍是在MySQL安装目录的bin目录下,执行mysqld -initislize
(2)再执行net start mysql
然并卵,
看了看错误提示,我才发现我的MySQL安装的根目录下没有data这个文件夹,又在谷歌上找教程,终于解决了。
在mysql5.7以上版本中默认没有一个data目录,即没有初始化服务。需要先初始化mysql才可以启动服务,否则会报 “服务没有报告任何错误”,启动失败呗。
正确的步骤是:
(1)先在mysql的bin目录下执行mysqld --initialize-insecure (不设置root密码,建议使用)命令,第一次执行这个命令会等待的时间稍微长了一些,并且控制台没有任何返回结果。可以看到mysql的根目录下会多出一个data文件夹,里面一堆文件。
(2)然后执行上述两条命令,
1)仍是在MySQL安装目录的bin目录下,执行mysqld -initislize
2)再执行net start mysql
这时候就成功了!
(3)
1)mysql安装完了,可高兴的输入“mysql -u root -p” 回车,居然没有进去,出了个“ERROR 1045 Access denied for ,,,,,,,,,”
原因是新版的mysql为了安全性,默认是有密码的。
解决方法:
mysql默认安装会有密码生成,密码文件直接写在 log-error 日志文件中(在5.6版本中是放在 root/.mysql_secret 文件里,更加隐蔽,不熟悉的话可能会无所适从),
MySQL5.7在安装完后,第一次启动时,会在root目录下生产一个随机的密码,文件名为.mysql_secret
登录时需要用随机密码登录,然后通过以下命令修改密码
SET PASSWORD = PASSWORD('new password');