报告任何错误的经验。
相信很多人都遇到过安装Mysql的时候出现各种各样的问题,今天小编就教大家解决window下mysql服务没有报告任何错误的情况下无法启动 的问题。本文所用的mysql版本是5.7以上版本,解决方法:
注意点1:你在看网上的教程配置完my.ini(自己的mysql配置文件)后不能自己创建一个data文件夹。
好多人,包括楼主也是,配置完datadir属性后觉得这个存储数据的文件夹路径没有呀,自己动手建一个呗。错就错在这里,不能动手建,你自己动手建的data文件夹里怎么可能有mysql启动所需要的表结构配置文件呢?
问题2:在使用net start msql的时候提示“服务报告没有任何错误”
安装完mysql服务后迫不及待的开启mysql服务,在mysql5.7以上版本中默认没有一个data目录,即没有初始化服务。需要先初始化mysql才可以启动服务,否则会报 “服务没有报告任何错误”,启动失败呗。
正确的步骤是:先在mysql的bin目录下执行mysqld --initialize-insecure (不设置root密码,建议使用)命令,第一次执行这个命令会等待的时间稍微长了一些,并且控制台没有任何返回结果。可以看到mysql的根目录下会多出一个data文件夹,里面一堆文件。
问题3:没有先执行mysqld --initialize-insecure (不设置root密码,建议使用),而是先执行net start mysql了,启动失败,mysql会自动创建一个data文件夹,并在里面初始化一些文件,在再次执行mysqld - initialize的时候并没有把data文件夹删除。错误信息如下图:
此时的解决方案是:删除data文件夹,然后执行mysqld - initializemysqld --initialize-insecure (不设置root密码,建议使用),再启动mysql。
问题4:mysql安装完了,可高兴的输入“mysql或者mysql -hlocalhost -uroot -p”一回车,居然没有进去,出了个“ERROR 1045 Access denied for user 'xxx' NO”
原因是新版的mysql为了安全性,默认是有密码的
解决方法:
mysql默认安装会有密码生成,密码文件直接写在 log-error 日志文件中(在5.6版本中是放在 root/.mysql_secret 文件里,更加隐蔽,不熟悉的话可能会无所适从),MySQL5.7在安装完后,第一次启动时,会在root目录下生产一个随机的密码,文件名为.mysql_secret
登录时需要用随机密码登录,然后通过以下命令修改密码
SET PASSWORD = PASSWORD('new password');
后来还是报错,就将之前自己创建的my.ini文件删除,结果服务是可以启动了,仍然无法连接数据库,但是data文件夹以上方法确实可以
更好的操作是是这篇文章的方法:
1、MySQL 文件共享地址:链接:https://pan.baidu.com/s/1kNN6JLbCQUptYP\_jlUZV4g 提取码:31l7
2、下载成功后解压
3、修改my-default.ini文件
4、以管理员身份运行cmd【_注意自己装载mysql环境变量,或者在切换到mysql bin目录下操作以下内容_】
a、进入到MySQL的安装目录的bin目录下
b、安装MySQL服务: >mysqld --install
c、生成data目录: >mysqld --initialize-insecure --user=mysql
d、启动MySQL: >net start mysql
e、进入MySQL: >mysql -uroot -p (此时没有密码,直接回车就行)
f、修改密码: >set password=password('123456');(_注意后边的 “;”_)
5. 以上没有出错,恭喜你,MySQL的基本安装已经完成!!!可以使用!!!