mysql无法成功启动服务的解决方法(通俗易懂!)

 更新时间:2023年02月15日 09:54:10   作者:h阿泉有个梦  
Mysql是我们使用数据库时需要用到的服务,但是在使用过程中常常遇到服务无法启动的问题,下面这篇文章主要给大家介绍了关于mysql无法成功启动服务的解决方法,需要的朋友可以参考下

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无法成功启动服务解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中怎么匹配年月

    MySQL中怎么匹配年月

    一般数据库中给到的时间都是年-月-日形式的,那怎么匹配年-月/的形式呢,下面通过实例代码介绍怎么在数据库中查询到关于2021年8月的数据,对mysql匹配年月相关知识,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • 一文学会Mysql数据库备份与恢复

    一文学会Mysql数据库备份与恢复

    数据库备份是在数据丢失的情况下能及时恢复重要数据,防止数据丢失的一种重要手段,下面这篇文章主要给大家介绍了关于Mysql数据库备份与恢复的相关资料,需要的朋友可以参考下
    2022-05-05
  • mysql 截取指定的两个字符串之间的内容

    mysql 截取指定的两个字符串之间的内容

    今天我同事在用mysql的时候,需要对一个字符串中的指定内容进行截取
    2009-07-07
  • MySQL计划任务(事件调度器) Event Scheduler介绍

    MySQL计划任务(事件调度器) Event Scheduler介绍

    MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件、定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能
    2013-10-10
  • mysql 显示SQL语句执行时间的代码

    mysql 显示SQL语句执行时间的代码

    查看 MySQL 語法 詳細執行時間 與 CPU/記憶體使用量: MySQL Query Profiler
    2009-08-08
  • MySQL 1130错误原因分析以及解决方案

    MySQL 1130错误原因分析以及解决方案

    这篇文章主要给大家介绍了关于MySQL 1130错误原因分析以及解决方案的相关资料,MySQL 1130错误通常是由于连接MySQL时使用的用户名或密码不正确所导致的,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • MySQL存储过程in、out和inout参数示例和总结

    MySQL存储过程in、out和inout参数示例和总结

    这篇文章主要给大家介绍了关于MySQL存储过程in、out和inout参数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • MySQL系列之七 MySQL存储引擎

    MySQL系列之七 MySQL存储引擎

    存储引擎是数据库的核心,对于mysql来说,存储引擎是以插件的形式运行的。虽然mysql支持种类繁多的存储引擎,但是常用的就那么几种。这篇文章主要给大家介绍MySQL存储引擎的相关知识,一起看看吧
    2021-07-07
  • Spark SQL常见4种数据源详解

    Spark SQL常见4种数据源详解

    这篇文章主要介绍了Spark SQL常见4种数据源(详细),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • 与MSSQL对比学习MYSQL的心得(二)--显示宽度

    与MSSQL对比学习MYSQL的心得(二)--显示宽度

    MYSQL中的整数型数据类型都可以指定显示宽度,而SQLSERVER不行
    2014-06-06

最新评论