是否可以在RAM中加载数据库?

15 mysql

我想将MYSQL数据库加载到我的计算机的RAM中,有没有办法做到这一点?我在Linux下运行这个数据库.此外,如果可以,有一个很好的方法来进行备份,因为如果计算机意外关闭,我将丢失所有数据.

S.L*_*ott 19

如果缓冲池足够大,那么您的数据 - 有效 - 是具有磁盘备份副本的内存数据库.不要愚弄RAM数据库,只需使缓冲池大小尽可能大.

读这个:

http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size


Mat*_*hen 10

是的,您可以使用MEMORY引擎.就备份而言,这是你的电话.您从未说过,例如您希望存储到磁盘的频率.但您可以使用传统的MySQL复制或自己的解决方案.


dfa*_*dfa 5

绝对,例如在linux下,您可以将数据库挂载到tmpfs中


Tim*_*nes 5

如果您使用的是 innodb 表,那么我建议像上面建议的 S.Lott 一样调整缓冲池大小。如果您有 ram,请将其设为数据库大小的 110% 左右。

如果您的数据库 > 50mb,您还需要考虑增加 innodb_log_file_size。请参阅http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_log_file_size 可能大约为缓冲池大小的 25 - 50%,但最大为 1gb。

innodb_log_file_size 调整起来有点棘手。您需要关闭数据库,将当前日志文件移动到备份位置,并让 mysql 在重新启动时重新创建它们(即在您更改 my.cnf 中的值之后)。谷歌一下,你会找到一些答案。