千家信息网

MySQL启动时丢失数据文件不报错是什么情况

发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,这篇文章主要讲解了"MySQL启动时丢失数据文件不报错是什么情况",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL启动时丢失数据文件不报错是什么
千家信息网最后更新 2024年09月25日MySQL启动时丢失数据文件不报错是什么情况

这篇文章主要讲解了"MySQL启动时丢失数据文件不报错是什么情况",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL启动时丢失数据文件不报错是什么情况"吧!



下面就是我的过程:
1、关闭MySQL数据库
[root@drbd-01 db1]# service mysqld stop
Shutting down MySQL (Percona Server).......................[确定]...

2、删除MySQL的一个数据文件
[root@drbd-01 db1]# cd /data/mysql/data/db1
[root@drbd-01 db1]# mv t1.ibd t1.ibd.bak
[root@drbd-01 db1]# mv t1.frm t1.frm.bak
[root@drbd-01 db1]# ls
db.opt t1.frm.bak t1.ibd.bak

3、重新启动MySQL
[root@drbd-01 db1]# service mysqld start
Starting MySQL (Percona Server).............................................................. [确定]

在丢失数据文件 t1.ibd的情况下,数据库居然启动起来了(这在oracle里面简直是不允许的)

4、验证
(root@localhost)[(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.17 sec)

(root@localhost)[(none)]> use db1;
Database changed
(root@localhost)[db1]> show tables;
Empty set (0.00 sec)

发现t1表果真不存在了。

(root@localhost)[db1]> create table t1 (id int);
ERROR 1813 (HY000): Tablespace for table '`db1`.`t1`' exists. Please DISCARD the tablespace before IMPORT.

又不让建立t1表,好尴尬。

5、查看错误日志(还好错误日志告诉我们数据文件曾经存在但现在丢了

[root@drbd-01 db1]# tail -100 /data/mysql/logs/mysql-error.log
InnoDB: directories yourself, InnoDB does not create them.
2016-01-08 16:43:12 10462 [ERROR] InnoDB: Could not find a valid tablespace file for 'db1/t1'. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
2016-01-08 16:43:12 10462 [ERROR] InnoDB: Tablespace open failed for '"db1"."t1"', ignored.
2016-01-08 16:43:12 10462 [Note] InnoDB: 128 rollback segment(s) are active.
2016-01-08 16:43:12 10462 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.27-76.0 started; log sequence number 1689915
2016-01-08 16:43:13 10462 [ERROR] InnoDB: Failed to find tablespace for table '"db1"."t1"' in the cache. Attempting to load the tablespace with space id 7.
2016-01-08 16:43:13 7f266daba700 InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
2016-01-08 16:43:13 10462 [ERROR] InnoDB: Could not find a valid tablespace file for 'db1/t1'. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
2016-01-08 16:43:13 10462 [Note] Server hostname (bind-address): '*'; port: 3306
2016-01-08 16:43:13 10462 [Note] IPv6 is available.

6、结论
在MySQL数据库启动时,管理员别忘了仔细观察你的错误日志,以便及时发现问题。

感谢各位的阅读,以上就是"MySQL启动时丢失数据文件不报错是什么情况"的内容了,经过本文的学习后,相信大家对MySQL启动时丢失数据文件不报错是什么情况这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

数据 文件 情况 数据库 日志 错误 学习 内容 就是 问题 验证 尴尬 思路 文章 更多 知识 知识点 管理员 篇文章 结论 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 崇明区会计软件开发哪家好 数据库建表中的说明怎么写 怎样使用数据库重新编写密码 SWAT模型污染物数据库 杨浦区媒体数据库服务报价行情 华为服务器待外管理退出全屏 数据库单表占用空间大小限制 什么专业能当网络安全工程师 网络技术内容包括什么软件 一图看懂网络安全教育日 软件开发专业学英语好吗 数据库中两个实例一个能启动 数据库怎么写成绩 数据库怎样查询最后日期 数据库的数据查询感悟 霓虹深渊数据库 计算机网络技术能报一建不 软件开发不听监理要求 战地4不踢高ping服务器 伊宁县网络安全法培训心得 审计机关网络安全筑好了一道屏障 php链接数据库实战视频 国家网络安全主题班队教案 网络安全技术目录 asp本地服务器搭建 张店软件开发价格 路局三级安全风险数据库 linux服务器网口亮灯命令 但是不能进入服务器 谈谈对当前网络安全的看法
0