内存关系数据库没有找到开源好用的,很多都是商用。虽然mysql有memory引擎,但写是整体锁表,没法用。
一直想将mysql放入内存中,搜索n次资料,没找到合适的,可能之前思路不对。
最近在测试将mysql放在linux的tmpfs内存盘中,网上找了不少方法,都启动失败。突然想到直接挂载方式,竟然成功。
特别说明:以下方法已经很长时间没有在真实环境中测试过了,不知道是否有未知的问题。仅供参考。
[En]
Special note: the following methods have not been tested in the real environment for a long time, I do not know whether there are unknown problems. It is for reference only.
步骤如下:
1,操作系统centos7,以mysql官网上的yum rpm方式安装mysql8。
2,mysql的datadir默认路径为/var/lib/mysql(如不是,后续步骤请换为自己的路径)。
3,停止mysql。备份datadir,命令:mv /var/lib/mysql /var/lib/mysql_ori。
4,挂载tmpfs内存盘,命令:mount -t tmpfs -o size=1g tmpfs /var/lib/mysql。
5,将3中备份的数据复制到/var/lib/mysql中,命令:cp -r -a /var/lib/mysql_ori/* /var/lib/mysql。
6,启动mysql,命令:systemctl start mysqld。
7,enjoy!
具体性能没有测试,数据量较小时应该差别不大,如果数据上到二三十GB,当查询需要从磁盘读取数据时,性能应该能提升很多。
由于现在内存价格低廉,弄个20G的内存盘问题不大,虽然重启数据丢失,但结何代码改造当缓存用应该不错的。
前二天使用fio测试的物理盘(非SSD,忘记有没有阵列了),tmpfs,ramfs的性能,总体上tmpfs与ramfs差不多,在顺序读写时物理盘大概是tmpfs的1/10,在随机读写时物理盘大概是tmpfs的1/150。
Original: https://www.cnblogs.com/sun51586/p/16580047.html
Author: sun51586
Title: mysql8使用tmpfs内存磁盘当内存数据库的配置方法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505048/
转载文章受原作者版权保护。转载请注明原作者出处!