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

时间:2009-06-16 10:09:01

标签: mysql

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

4 个答案:

答案 0 :(得分:19)

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

阅读本文:

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

答案 1 :(得分:10)

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

答案 2 :(得分:5)

绝对,例如在linux下,您可以在tmpfs

中安装数据库

答案 3 :(得分:4)

如果您正在使用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中的值之后)。谷歌,你会找到一些答案。