mysql无法成功启动服务的解决办法【通俗易懂】

avatar
作者
猴君
阅读量:5

MySQL 安装成功后,启动失败,提示如下:

或者是

尝试以下步骤

1.如果在mysql的安装路径中有没有配置文件

如果没有配置文件则自己手动创建一个,文件名为:my.ini

添加内容如下:

简介版

[mysqld] basedir=E:\MySQL\mysql-5.7.22-winx64(mysql的安装路径) datadir=E:\MySQL\mysql-5.7.22-winx64\data\ (mysql的安装路径\data\) port=3306

完整版

[mysqld] #设置北京时间 default-time_zone = '+8:00' # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=D:\MySQLDB\mysql-8.0.22-winx64(这里需要改成你的数据库所在目录) # 设置mysql数据库的数据的存放目录 datadir=D:\MySQLDB\mysql-8.0.22-winx64\data(这里需要改成你的数据库中data所在目录) # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character_set_server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password # 解决无法写入空时间,解除严格限制模式 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES  [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8 

 

注意:

datadir属性后的data文件夹一定不要自己手动创建,本人尝试手动创建会有问题,如果自己创建了可以删除掉,再执行后面的操作。

2.mysql5.7以上版本默认没有一个data目录,即没有初始化服务。需要先初始化mysql才可以启动服务否则会报 “服务没有报告任何错误”,启动失败。

解决方法:

进入mysql的bin目录

例如我是装在E盘底下,文件路径为:E:\MySQL\mysql-5.7.22-winx64\bin  打开cmd后  默认在C盘 咱们这么操作 e:   (盘:然后回车) 接着就进入了e盘 紧接着输入:cd E:\MySQL\mysql-5.7.22-winx64\bin        回车 就进入了bin目录

具体如下图所示:

执行mysqld --initialize-insecure,第一次执行的话,时间会久一些,执行结束后没有输出信息,查看bin的同级目录下会多出一个data文件夹,里面一堆文件。

③再次执行net start mysql命令启动服务,发现启动成功

 

问题分析:


①忘记密码

②首次安装mysql,不知道密码 

解决方法:


首先停止mysql服务。可通过net stop mysql或者任务管理器中关闭。 

 为什么会发生如上图所示的问题“拒绝访问”?

因为 没以管理员方式打开,下图是我们以管理员方式打开后:

 第二步:跳过Mysql密码验证
进入命令提示符(管理员登陆)操作,进入mysql目录中bin文件夹下,使用以下代码来跳过权限验证。

mysqld -console --skip-grant-tables --shared-memory


输入执行后没有反馈,新开一个管理员窗口重新执行。(这是第二个窗口)

进入目录后,确保自己已经关闭了Mysql的服务:net stop mysql

关闭Mysql服务之后,继续在X:\XXXXX-winx64\bin(mysql的bin目录)目录下进行操作:
输入:

mysqld --console --skip-grant-tables --shared-memory 
 在输入这行代码之后,如下显示,我们就已经成功跳过Mysql的密码登录了

第三步:无密码方式进入Mysql
在上述步骤之后,再打开一个管理员模式运行的cmd.exe (这是第三个窗口)

进入mysql下的bin目录后,直接登录mysql

如图:

①接着执行 use mysql语句 (选择mysql数据库,防止出现问题)

②然后执行flush privileges;语句

③最重要一步(修改密码)

执行alter user root@localhost identified by '123456';语句,把密码修改为123456(这里填自己想要的密码)

④执行 exit语句(退出mysql)

⑤把第一个cmd窗口关闭,在第二个cmd窗口进入到mysql的bin目录,再执行net start mysql启动mysql

⑥最后进行“修改密码”后的验证

执行语句mysql -uroot -p,输入刚刚设置的密码即可登录成功

总结:
到此这篇关于mysql密码忘记后如何修改密码的文章就介绍到这了,更多相关mysql问题的请关注我,到指定专栏查看!


 

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!