mysql 服务无法启动是什么原因?

mysql 服务无法启动是什么原因?,第1张

mysql 服务无法启动的原因有很多:可能端口被占用;可能my.cnf配置了错误的参数;也有可能没有初始数据库,还有可能是其他原因。大多数原因都可以通过先注销掉原有的服务、重新装载服务、之后再重新启动的方法解决。也可以尝试下以下方法:

1、将目录中配置文件my.default.ini改名为my.ini移至bin目录下。

2、启动命令行,将目录切换到mysql安装目录的bin目录下。

3、接下来,在命令行执行命令:mysqld --initialize --user=mysql --console

4、注意,上一个步骤会获得一个临时密码,需要记录,之后会用到。

5、接下来在控制台以命令行输入: mysqld --install,进行安装服务 *** 作

6、之后,在任务管理器找到“服务”,启动其中的MYSQL服务即可。

7、之后,输入命令行mysql -uroot -p,利用之前的临时密码输入即可登录数据库成功。

8、修改临时密码,设置密码:mysqladmin -u USER -p password PASSWORD,注意USER和PASSWORD为自己定义的数值。

扩展资料

数据库就相当于现实中的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。MySQL 就是一种关系型数据库。

如果服务无法启动,首先查看MySQL的服务是否存在。如果安装服务失败,则可新建项MySQL57建立项目。然后找到新建的项,检查下ImagePath的路径是否正确。如果路径不对,修改过来。重启计算机,再次启动服务,并可以成功运行MySQL服务。

参考资料:百度百科-MySQL

MySQL数据库在升级到5.7版本后,和之前的版本有些不一样,没有data文件夹,我们都知道MySQL数据库文件是保存在data文件夹中的,网上有人说把5.6版本的data文件夹拷贝一个,这种说法听听都不靠谱,我也试了,确实能够登录,但是无法修改管理员密码,下面还是给个标准的解决方法。\x0d\x0a安装好MySQL5.7后,打开cmd命令窗口,并且进入到MySQL安装目录中的bin目录,然后输入如下命令回车即可:\x0d\x0amysqld --initialize-insecure --user=mysql\x0d\x0a执行完上面命令后,MySQL会自建一个data文件夹,并且建好默认数据库,登录的用户名为root,密码为空,后面的 *** 作就跟之前版本一样了

故障处理

移除当前使用的 redo log 文件,然后可以试着启动数据库,结果启动失败!

提示:

[ERROR] InnoDB: Page [page id: space=0, page number=0] log sequence number 178377412422 is in the future! Current system log sequence number 165909011496.

这样的错误,这是因为 MySQL writer 线程按照配置的时间间隔以 page 为单位刷新 buffer 数据到磁盘。当数据刷新到磁盘的时候,新写入磁盘的 page 包含了较新的 LSN,此时系统 system 表空间头的 LSN 并没有同步更新,通常这是检查点线程的工作。在正常的崩溃恢复中,MySQL 可以借助 redo log 来进行前滚和回滚,但是此时 redo log 已经被我们删掉了,MySQL 无法进行恢复 *** 作。此时,我们设置 innodb_force_recovery=3 来强制启动 MySQL,仍然启动不成功,改成 4 后启动了!

再使用 mysqldump 导出备份,结果噩梦又降临了!MySQL 又 crash 了。

提示:

InnDB: Failed to find tablespace for table......

设置参数 innodb_force_recovery=5,数据库仍然启动失败,再设置成 6,启动成功!用 sqldump 顺利把数据备份出来了!

再初始化数据库,把刚刚备份的数据库导入,数据库恢复成功完成!

参数说明

这里的关键是设置 innodb_force_recovery 参数,对应这个参数的说明如下:

1. SRV_FORCE_IGNORE_CORRUPT:忽略检查到的 corrupt 页;

2. SRV_FORCE_NO_BACKGROUND:阻止主线程的运行,如主线程需要执行 full purge *** 作,会导致 crash;

3. SRV_FORCE_NO_TRX_UNDO:不执行事务回滚 *** 作;

4. SRV_FORCE_NO_IBUF_MERGE:不执行插入缓冲的合并 *** 作;

5. SRV_FORCE_NO_UNDO_LOG_SCAN:不查看重做日志,InnoDB 存储引擎会将未提交的事务视为已提交;

6. SRV_FORCE_NO_LOG_REDO:不执行前滚的 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6730370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存