mysql>USE sakila
mysql>CREATE TABLE actor (
actor_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
first_name VARCHAR(45) NOT NULL,
last_name VARCHAR(45) NOT NULL,
last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (actor_id),
KEY idx_actor_last_name (last_name)
)ENGINE=InnoDB DEFAULT CHARSET=utf8
ALTER TABLE {库名}.{表名} DISCARD TABLESPACE
例:
mysql>ALTER TABLE sakila.actor DISCARD TABLESPACE
cp /backup_directory/actor.ibd path/to/mysql-5.7/data/sakila/
ALTER TABLE {库名}.{表名} IMPORT TABLESPACESHOW WARNINGS
例:
mysql>ALTER TABLE sakila.actor IMPORT TABLESPACESHOW WARNINGS
Query OK, 0 rows affected, 1 warning (0.15 sec)
Warning | 1810 | InnoDB: IO Read error: (2, No such file or directory)
Error opening './sakila/actor.cfg', will attempt to import
without schema verification
mysql>SELECT COUNT(*) FROM sakila.actor
+----------+
| count(*) |
+----------+
| 200 |
+----------+
Windows上安装了XMAPP-controller之后间歇性出现MySQL无法启动,查看日之后发现是innodb的报错,报错信息如下:
度娘上各种答案无法解决,后来直接看官方文档,直接上解决方案:
踩坑指南 - - *** 作配置前需要做这些 *** 作:
1、配置my.cnf 配置innodb_force_recovery = 1 到 6 试到正确为止,重启MySQL
2、导出数据脚本 mysqldump -uroot -p123456 test >test.sql 导出SQL脚本。或者用Navicat将所有数据库/表导入到其他服务器的数据库中。 注意:这里的数据一定要备份成功。然后删除原数据库中的数据。
3、删除ib_logfile0、ib_logfile1、ibdata1 备份MySQL数据目录下的ib_logfile0、ib_logfile1、ibdata1三个文件,然后将这三个文件删除
4、配置my.cnf 将my.cnf中innodb_force_recovery 这行配置删除或者配置为innodb_force_recovery = 0,重启MySQL服务
5、将数据导入MySQL数据库 mysql -uroot -p123456 test <test.sql
或者用Navicat将备份的数据导入到数据库中。 如果在导入数据过程中发生tablespace不存在的问题,请删除data目录相应database下的文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)