我想将MYSQL数据库加载到我的计算机的RAM中,有没有办法做到这一点?我在Linux下运行这个数据库。此外,如果可以,有一个很好的方法来进行备份,因为如果计算机意外关闭,我将丢失所有数据。
答案 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中的值之后)。谷歌,你会找到一些答案。