在使用专用服务器经历了一段糟糕的经历后,花了整整3天的时间修复损坏的数据库(是的,我知道……备份!)。。。。我已经将问题缩小到几个网站。问题是,这些网站都是Magento网站。
我必须将.ibd文件导入到/var/lib/mysql
文件夹中,然后丢弃/导入表空间。
有没有办法一次更改数据库中的所有表,即ALTER TABLE * DISCARD TABLESPACE
,然后在。。。那么ALTER TABLE * IMPORT TABLESPACE
呢?
我不相信有一个调用,但您可以使用MySQL为您生成调用,如下所示:
USE INFORMATION_SCHEMA;
SELECT
CONCAT("ALTER TABLE `", TABLE_SCHEMA,"`.`", TABLE_NAME, "` CONVERT TO CHARACTER SET UTF8;")
AS MySQLCMD FROM TABLES
WHERE TABLE_SCHEMA = "your_schema_here";
然后,您可以使用MySQL控制台的输出来运行这些查询&你应该准备好了。