neolee / pilot

进入编程世界的第一课
588 stars 842 forks source link

如何解决mysql在服务器无法启动的问题! #1437

Open lu777lu opened 3 years ago

lu777lu commented 3 years ago

根据李骏老师x5章节的步骤安装mysql遇到了图片中的问题。

image

image 经过在Issues中提出来的方法试验后,发现依然无法解决,最后通过百度结合多种方法总结出了一个解决方案。 听网友说是因为我们安装的mysql版本没有初始化,解决方法有2个:

第一个方法:找到data并进入(如下图),删除里面的所有文件,然后在ConEmu命令行中输入mysqld --initialize ,这样就会在data里面自动生成新的文件,然后就能启动服务器了。 第二个方法:下载版本低一点的mysql

这里我们主要讲第一个方法

image

上面就解决了服务器无法启动的问题,接下来是你还可能遇到的问题,如果没有就不需要继续往下读了

启动服务器之后,按照文档步骤继续进行,输入mysql -uroot,显示报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost'

具体是什么原因造成的,我还不知道。

解决方案:打开一开始我们配置my.ini文件,在[mysqld]下任意一行添加skip-grant-tables如图所示 image

然后关闭服务器,再启动服务器,这样才能生效,启动后重新输入mysql -uroot,这个时候就不会报错了。

接着文档步骤就是修改密码了,按照原文档的方式输入代码修改会报错,因为我们刚刚在my.ini中加了那一句跳过密码验证的代码

因此我们需要额外多加一步,在 mysql> 提示符之后输入use mysql;

会跳出Database changed

接着执行update user set authentication_string=PASSWORD("此处请输入您要设定的密码") where user='root';

这样子就修改好了,然后再删除my.ini中添加的那一行skip-grant-tables

接着quit退出mysql,重启服务器,重新输入代码mysql -uroot -p,就会要求你输入密码了,问题基本已经完全解决了

Totie-O commented 3 years ago