mysql无法成功启动服务的解决方法(通俗易懂!)
h阿泉有个梦 人气:0MySQL 安装成功后,启动失败,提示如下:
或者是
尝试以下步骤
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,输入刚刚设置的密码即可登录成功
总结:
加载全部内容