序:
内存关系数据库没有找到开源好用的,很多都是商用。虽然mysql有memory引擎,但写是整体锁表,没法用。
一直想将mysql放入内存中,搜索n次资料,没找到合适的,可能之前思路不对。
最近在测试将mysql放在linux的tmpfs内存盘中,网上找了不少方法,都启动失败。突然想到直接挂载方式,竟然成功。
特别说明:以下方法未经过真实环境长期检测,不知是否存在未知问题。仅供学习参考。
 
步骤如下:
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。

最新文章

  1. 玩转Podfile
  2. [Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]
  3. redis配置详解
  4. Java并发编程核心方法与框架-TheadPoolExecutor的使用
  5. html里文本编辑器如何制作呢?
  6. TCP三次握手
  7. Struts2动态结果(${})and全局结果(global-results)
  8. 翻译:用Javascript的Function构造器伪造上下文 by Ben Nadel
  9. 转载--SQL Server 2005的XQuery介绍
  10. Linux cat命令详解
  11. Eclipse自动换行WordWrap插件
  12. CentOS 6.5 64位,调整分区大小
  13. phpcms(4) V9 栏目管理
  14. <html:form>、 <html:text>、<html:password>、<html:submit> 标签
  15. 144 Binary Tree Preorder Traversal(二叉树先序遍历Medium)
  16. Redis源代码分析(二十七)--- rio制I/O包裹
  17. Colorful(Folders星语多彩文件夹) v1.7绿色版
  18. Nginx配置文件常用部分详解
  19. Ansys热应力计算
  20. 高级组件——进度条 JProgressBar

热门文章

  1. mac下 idea 注释快捷键冲突
  2. 迁移学习(MixMatch)《MixMatch: A Holistic Approach to Semi-Supervised Learning》
  3. Scrapy爬虫框架快速入门
  4. 克拉玛依初赛-wp
  5. Unity之正确设置手机显示布局&&获取手机朝向
  6. 关于计算机与常用DOS命令
  7. Java JDK1.5: 泛型 新特性的讲解说明
  8. MySQL8.0 高可用集群化 · mysql-shell · mysql-router · docker · 单主多从
  9. GMAC网卡相关介绍与分析
  10. 研发效能DevOps推荐书单