服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

时间:2024-04-09 15:13:09


mysqld --initialize 命令创建了date文件之后还是不能启动mysql的解决办法(win10,mysql5.7)

今天因为测试的原因,关掉了本机的mysql数据库服务?然后启动报错

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

然后就开始了为期两小时的寻找之路

第一种方法:重装mysql简单粗暴,下面的各位看官可以不用看了~~~~~

~~~~~~~~~~~~~~~~~<分隔符~~~~~~~~~~~~~~~~~~~~~

第二种方法删除data文件,然后初始化数据库信息,重新启动就可以了

简单来说:  mysqld remove

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

                mysqld --initialize    (执行中会卡一下,然后data文件夹中会生成文件)

                mysqld install

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

                net start mysql

网上的方法一般到这里就可以解决了.

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

遇到mysql -u root -p直接回车登陆不上的情况,原因在于5.7版本在安装时自动给了一个随机密码,坑爹的是在init步骤的时候不像linux系统会给出命令行提示,需要手动在mysql目录下搜索*.err,以文本形式打开才能看到如下内容(红色为密码):

016-02-25T15:09:43.033062Z 1 [Note] A temporary password is generated for [email protected]: >mso<k70mrWe

第二种方法中的mysqld --initialize命令稍微再详细一点,各位凑合着理解吧

之前修改mysql安装文件夹下面的my.ini文件为

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

其中basedir为安装目录,datadir是安装目录下的data文件,这个文件夹其实可以不用我们手动去创建

在e:/mysql安装目录/bin下面以管理员的方式启动cmd命令符执行mysqld --initialize方法

mysql会自动去读取安装目录下的my.ini文件,然后找到datadir,帮我们创建这个data文件夹,并生成如下文件

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

~~~~~~~~~~~~~~~~~/分隔符>~~~~~~~~~~~~~~~~~~~~~

出现下图的请继续往下看

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!


~~~~~~~~~~~~~~~~~终极分隔符~~~~~~~~~~~~~~~~~~~~~

终极方法:(可以使用脚本来修复)但是我们不用~就是这么皮,因为不会

我遇到的情况就是上面无法启动的状况,更有时候执行mysqld --initialize 命令

会报错.解决办法就是清空data文件,但我清空了,执行mysqld --initialize 命令也不报错了

data下面的文件也生成了,net start mysql 的时候还是无法启动,有木有很崩溃???????

解决办法:

cd 到D:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld -nt --skip-grant-tables 以管理员身份运行这段命令,相当于在my.ini中[mysqld]下加入skip-grant-tables,就可以跳过登录校验,此时命令窗口不会动啦,

重开一个窗口 ,直接接登录

mysql  (前提:mysql加入环境变量)

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

mysql> use mysql

下面是5.7以后更新账户密码的新语句,

update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

5.7以后password字段不在存在,变成了authentication_string,否则

会报如下错误:ERROR 1054 (42S22): Unknown column 'password' in 'field list'

服务启动后停止 mysql5.7不能启动(mysqld --initialize 命令)不能解决?看这里!!!

ok,愉快的登陆吧!

商业转载请联系作者获得授权,非商业转载请注明出处