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


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

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


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

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

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

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

简单来说:  mysqld remove


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

                mysqld install


                net start mysql

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


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

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

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

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

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

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

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


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

出现下图的请继续往下看


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

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

我遇到的情况就是上面无法启动的状况,更有时候执行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加入环境变量)


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'


ok,愉快的登陆吧!

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

   


  • 12
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值