FLUSH TABLES FOR EXPORT
环境:
OS:Centos 7
DB:5.7
1.主库创建表,并尝试写入数据
create table flush_test
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
name varchar(32),
PRIMARY KEY (`id`)
);
insert into flush_test (name) values('name1');
insert into flush_test (name) values('name2');
insert into flush_test (name) values('name3');
insert into flush_test (name) values('name4');
insert into flush_test (name) values('name5');
insert into flush_test (name) values('name6');
insert into flush_test (name) values('name7');
insert into flush_test (name) values('name8');
insert into flush_test (name) values('name9');
insert into flush_test (name) values('name10');
2.flush表
FLUSH TABLES flush_test FOR EXPORT;
mysql> FLUSH TABLES flush_test FOR EXPORT;
ERROR 1192 (HY000): Can't execute the given command because you have active locked tables or an active transaction
只能执行一次
尝试写入数据:
insert into flush_test (name) values('name11');
mysql> insert into flush_test (name) values('name11');
ERROR 1099 (HY000): Table 'flush_test' was locked with a READ lock and can't be updated
这个时候是不能写入数据的
3.查看已经生成了cfg文件
[root@localhost db_hxl]# ls -al
total 352
drwx------. 2 mysql mysql 162 Nov 9 09:02 .
drwxr-xr-x. 8 mysql mysql 4096 Jul 10 15:24 ..
-rw-rw----. 1 mysql mysql 61 Jul 10 14:30 db.opt
-rw-r-----. 1 mysql mysql 406 Nov 9 09:02 flush_test.cfg
-rw-r-----. 1 mysql mysql 8594 Nov 9 09:00 flush_test.frm
-rw-r-----. 1 mysql mysql 98304 Nov 9 09:00 flush_test.ibd
-rw-rw----. 1 mysql mysql 8782 Jul 10 14:30 rule_01.frm
-rw-rw----. 1 mysql mysql 114688 Jul 10 14:30 rule_01.ibd
-rw-rw----. 1 mysql mysql 8556 Jul 10 14:30 tb_test.frm
-rw-rw----. 1 mysql mysql 98304 Jul 10 15:29 tb_test.ibd
4.目的库建表,表结构一定要和目标MySQL上的一样,再执行丢弃表空间命令
create table flush_test
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
name varchar(32),
PRIMARY KEY (`id`)
);
ALTER TABLE flush_test DISCARD TABLESPACE;
5.建源服务器上的cfg和idb文件拷贝到目的机器上
把dummy.cfg和dummy.ibd远程拷备到另一台服务器上
scp flush_test.cfg root@192.168.1.118:/opt/mysql5730/data/db_hxl/
scp flush_test.ibd root@192.168.1.118:/opt/mysql5730/data/db_hxl/
文件传输到目标机器后需要修改相应的权限
[root@localhost db_hxl]# chown -R mysql:mysql flush_test.cfg
[root@localhost db_hxl]# chown -R mysql:mysql flush_test.ibd
然后回到原数据库执行解释操作,再查看,已经没有 flush_test.cfg文件了,所以一定确定scp完了后再解锁:
mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)
[root@localhost db_hxl]# ls -al
total 348
drwx------. 2 mysql mysql 140 Nov 9 09:14 .
drwxr-xr-x. 8 mysql mysql 4096 Jul 10 15:24 ..
-rw-rw----. 1 mysql mysql 61 Jul 10 14:30 db.opt
-rw-r-----. 1 mysql mysql 8594 Nov 9 09:00 flush_test.frm
-rw-r-----. 1 mysql mysql 98304 Nov 9 09:00 flush_test.ibd
-rw-rw----. 1 mysql mysql 8782 Jul 10 14:30 rule_01.frm
-rw-rw----. 1 mysql mysql 114688 Jul 10 14:30 rule_01.ibd
-rw-rw----. 1 mysql mysql 8556 Jul 10 14:30 tb_test.frm
-rw-rw----. 1 mysql mysql 98304 Jul 10 15:29 tb_test.ibd
6.目的库执行导入表空间命令,然后查看表数据
ALTER TABLE flush_test IMPORT TABLESPACE;
mysql> select * from flush_test;
+----+--------+
| id | name |
+----+--------+
| 1 | name1 |
| 2 | name2 |
| 3 | name3 |
| 4 | name4 |
| 5 | name5 |
| 6 | name6 |
| 7 | name7 |
| 8 | name8 |
| 9 | name9 |
| 10 | name10 |
+----+--------+
10 rows in set (0.00 sec)
7.查看日志
2020-11-09T01:16:14.345927Z 3 [Note] InnoDB: Importing tablespace for table 'db_hxl/flush_test' that was exported from host 'localhost.localdomain'
2020-11-09T01:16:14.346048Z 3 [Note] InnoDB: Phase I - Update all pages
2020-11-09T01:16:14.346709Z 3 [Note] InnoDB: Sync to disk
2020-11-09T01:16:14.348903Z 3 [Note] InnoDB: Sync to disk - done!
2020-11-09T01:16:14.349670Z 3 [Note] InnoDB: Phase III - Flush changes to disk
2020-11-09T01:16:14.356108Z 3 [Note] InnoDB: Phase IV - Flush complete
2020-11-09T01:16:14.356456Z 3 [Note] InnoDB: `db_hxl`.`flush_test` autoinc value set to 11
-- The End --
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?