昨天下午老大让我查资料看一下mysql的内存表在主从备份中是否能被复制,我还没听说过内存表呢,于是上网查资料,记录一下,以便查阅、学习
二、进展
参考:
http://www.cnblogs.com/sunss/p/3191137.html
内存表: 复制代码 session 1 $ mysql -uroot root@(none) 10:05:06>use test Database changed root@test 10:06:06>CREATE TABLE tmp_memory (i INT) ENGINE = MEMORY; Query OK, 0 rows affected (0.00 sec) root@test 10:08:46>insert into tmp_memory values (1); Query OK, 1 row affected (0.00 sec) root@test 10:08:46> session2 $ mysql -uroot test root@test 10:05:12>CREATE TABLE tmp_memory (i INT) ENGINE = MEMORY; ERROR 1050 (42S01): Table 'tmp_memory' already exists root@test 10:16:27>select * from tmp_memory; +------+ | i | +------+ | 1 | +------+ 1 row in set (0.00 sec) 复制代码 1. 多个session,创建表的名字不能一样 2. 一个session创建会话后,对其他session也是可见的 3. data目录下只有tmp_memory.frm ,表结构放在磁盘上,数据放在内存中 4. mysql 重启或者关闭后内存表里的数据会丢失,但是表结构仍然存在 5. 可以创建索引,删除索引,支持唯一索引 6. 不影响主备,主库上插入的数据,备库也可以查到 7. show tables 看得到表