作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个名为 av2web 的数据库,其中包含 130 个 MyISAM 表和 20 个 innodb 表。我想获取这 20 个 innodb 表的 mysqldump,并将其作为 MyISAM 表导出到另一个数据库。
你能告诉我一个更快的方法吗?
谢谢佩德罗·阿尔瓦雷斯·埃斯皮诺萨。
最佳答案
如果这是一次性操作,我会这样做:
use DB;
show table status name where engine='innodb';
然后从“名称”列复制/粘贴一个矩形:
+-----------+--------+---------+------------+-
| Name | Engine | Version | Row_format |
+-----------+--------+---------+------------+-
| countries | InnoDB | 10 | Compact |
| foo3 | InnoDB | 10 | Compact |
| foo5 | InnoDB | 10 | Compact |
| lol | InnoDB | 10 | Compact |
| people | InnoDB | 10 | Compact |
+-----------+--------+---------+------------+-
到文本编辑器并将其转换为命令
mysqldump -u USER DB countries foo3 foo5 lol people > DUMP.sql
然后在DUMP.sql中用ENGINE=MyISAM
替换所有ENGINE=InnoDB
实例后导入
如果你想避免矩形复制/粘贴魔法,你可以这样做:
use information_schema;
select group_concat(table_name separator ' ') from tables
where table_schema='DB' and engine='innodb';
这将返回 countries foo3 foo5 lol people
关于mysql - 如何有选择地转储 mysql 数据库中的所有 innodb 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2291641/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!