每当我的MySQL 5.7启动时,我就会收到警告
InnoDB: Ignoring tablespace `foo`.`bar` because the DISCARD flag is set
bar是我很久以前就用import tablespace做过的一个表,但是它被长时间删除了,而且我在数据库目录中没有看到任何与它相关的文件。
drop table bar不工作。
我怎么才能遵守这个警告呢?
假设我有一张名为“隐私”的桌子:
privacy (id INT PRIMARY KEY, data BINARY(512))
假设我在这样的表中插入一行:
INSERT INTO privacy(1, 'CIPHERTEXT')
用密文加密某些明文的AES加密的伪随机字节。
在更新data列或删除此类行时,我会担心:事实上,出于隐私原因,我不希望访问我的服务器的人撤回删除data值。
当发送UPDATE/DELETE命令时,MySQL真的从硬盘中删除以前的数据吗?在执行DELETE命令之前,必须用随机数据更新行吗?
注意:我的服务器使用SSD硬盘驱动器,启用TRIM,表引擎是
我使用的是MySQL enterprise backup,但现在我必须恢复一个表。我不想碰我现有的表,我想把一个数据库恢复到一个新的数据库中,这样我就可以查看旧值,并只从中提取几个细节。
我对要恢复的数据库应用了-log。然后,我创建了一个名为XY的新数据库,并将"appy-log“操作后生成的所有文件放入XY文件夹中的mysql数据文件中。
我确实看到了所有的表,但是当我试图查询其中的任何一个时,我得到了错误"table I not exists“
如何让mysql将恢复的文件读取到新表中,而不会导致更多问题?
我在一个PHP脚本中使用了INSERT INTO和DELETE FROM的组合,从一个可操作的MySQL表中取出数据,并放入一个存档表中。
存档表变得太大了。即使没有对其执行任何日常操作,mysqldump在我们备份时也会阻塞(错误2013):
Error 2013: Lost connection to MySQL server during query when dumping table 'some_table' at row: 1915554
我能做什么?我的PHP脚本是否应该将它移动到另一个数据库(如何移动?)?是否可以将大表保留在可操作的数据库中?--在这种情况下,
我们是否可以在mysql或sql中创建物化视图,它将自动重新加载底层基表中的数据,而不会命中基表。
振铃:
我已经创建了viewMasterTable视图,它是3个表的连接,
TableA,TableB,表= viewMasterTable
现在,如果在基表上进行了任何更改,即upadate、insert或delete,而没有命中基表,我希望用数据重新加载此视图。
**Will this view concept will help in performance increase**