mysql8使用tmpfs内存磁盘当内存数据库的配置方法

内存关系数据库没有找到开源好用的,很多都是商用。虽然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。

Original: https://www.cnblogs.com/sun51586/p/16580047.html
Author: sun51586
Title: mysql8使用tmpfs内存磁盘当内存数据库的配置方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611894/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java 多线程共享模型之管程(上)

    主线程与守护线程 默认情况下,Java 进程需要等待所有线程都运行结束,才会结束。有一种特殊的线程叫做守护线程,只要其它非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制…

    数据库 2023年6月16日
    088
  • mysqlCRUD

    查询一个段里所&#…

    数据库 2023年6月9日
    071
  • HMX-Server C++ 分步式服务器大版本更新了(有源码)

    原文地址:http://www.cnblogs.com/hellohuang/p/6294763.htmlHMX-ServerHMX-Server分步式服务器框架,主要分为网关、登…

    数据库 2023年6月14日
    0106
  • 主从复制架构直接转换MGR(manual)

    IP port role info 192.168.188.81 3316 node1 master 192.168.188.82 3316 node2 slave1 192.16…

    数据库 2023年6月16日
    0222
  • 如何在MySQL中进行简单的增删改查

    — 创建dept表并设置主键create table dept(deptno int(2) primary key ,dname varchar(14),loc var…

    数据库 2023年6月16日
    0113
  • sed语句用法

    sed编辑器 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要…

    数据库 2023年6月14日
    084
  • MySQL约束

    约束指对字段的约束,用于确保数据库的数据满足特定的规则。在MySQL中,数据库的约束包括, NOT NULL,PRIMARY KEY,UNIQUE,FOREIGN KEY,CHEC…

    数据库 2023年6月16日
    064
  • Qt 保持窗口顶层显示最简单方法

    情景: 当前存在两个窗口或以上,先初始化的窗口会被后初始化的窗口覆盖,从而置于底层, 这时一个最简单的方案就是给需要置于顶层的窗口配置事件过滤器,监听窗口状态,当窗口不属于顶层窗口…

    数据库 2023年6月16日
    0124
  • Markdown语法浅学

    typora语法使用 1.字体 *斜体*,_斜体_ **粗体** ***加粗斜体*** ~~删除线~~ 下划线 ***分割线 , — 2.标题 一级标题 ## 二级标题 ###…

    数据库 2023年6月11日
    096
  • 中文技术文档写作规范

    使用 markdown 格式书写文档 只使用一二三级标题,三级标题下面的并列性内容使用列表展示 二级标题前使用行分隔符表示分隔 段落之间使用一个空行隔开 一句话或者以逗号分隔的句子…

    数据库 2023年6月6日
    082
  • 机器学习实战-决策树

    1.决策树的构造 1.1优缺点 优点: 计算复杂度不高:以ID3为例,每次运算都是基于某一列特征,特征计算完后,下次计算不考虑该最有特征,并且通过适当剪枝可以简化复杂度 输出结果易…

    数据库 2023年6月16日
    0101
  • jdbc-使用工具类

    package com.cqust; import com.cqust.utils.JDBCUtil; import java.sql.Connection;import java…

    数据库 2023年6月11日
    068
  • jupyter使用虚拟环境

    为了在jupyter中使用pyTorch的虚拟环境,来记录一下怎么操作一、conda命令的使用因为使用的是jupyter,所有就使用Anaconda Prompt来创建虚拟环境(也…

    数据库 2023年6月14日
    081
  • Python–迭代器

    区分:迭代器 Iterator 和可迭代对象It…

    数据库 2023年6月9日
    0109
  • 2022-8-16 mysql 第二天 约束

    重点,DQL是我们每天都要接触编写最多也是最难的SQL,该语言用来查询记录,不会修改数据库和表结构。 构建数据库 创建一张student表: DROP TABLE IF EXIST…

    数据库 2023年5月24日
    070
  • mysql拆分字符串做条件查询

    mysql拆分字符串作为查询条件 有个群友问一个问题 这表的ancestors列存放的是所有的祖先节点,以 ,分隔 例如我查询dept_id为103的所有祖先节点,现在我只有一个d…

    数据库 2023年5月24日
    077
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球