把MySQL的临时目录建立在内存中的方法

  • 时间:
  • 1619人关注

这篇文章主要介绍了将MySQL的临时目录建立在内存中的教程,以获得不关机情况下的高性能使用,需要的朋友可以参考下,另外这篇文章主要知识点是关于MySQL、临时目录、内存、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子资料:

教程详情电子资料
  • 教程类别:
  • 编辑整理:尹绮文
  • 教程字数:1391字节
  • 阅读时间:大概20分钟
  • 下载本教程(DOC版)
  • MySQL是怎样运行的:从根儿上理解 MySQL
  • The Great Suspender
  • OneTab
  • Centos7下安装mysql5.7的步骤
  • 高性能MySQL
  •  MySQL 系统会在内存(MEMORY)和磁盘(MyISAM)中建立临时表,如何能知道在磁盘中建立了多少临时表以及在内存中建立多少临时表呢?你可以通过下面命令获知:

    mysql> SHOW GLOBAL STATUS LIKE 'Created_tmp%tables';
    +-------------------------+----------+
    | Variable_name      | Value  |
    +-------------------------+----------+
    | Created_tmp_disk_tables | 49094  |
    | Created_tmp_tables   | 37842181 |
    +-------------------------+----------+
    

    很显然,在内存中的临时表的性能要比在磁盘中好得多得多,因此我们希望尽可能的在内存中建立临时表。

    为了实现这个要求,我们先检查下临时表的配置大小:
     

    mysql> SHOW GLOBAL VARIABLES LIKE '%table_size';
    +---------------------+----------+
    | Variable_name    | Value  |
    +---------------------+----------+
    | max_heap_table_size | 25165824 |
    | tmp_table_size   | 25165824 |
    +---------------------+----------+
    

    如果临时表的大小比上述值小,则放于内存中的 MEMORY 表;如果比上述值大则存放于磁盘中的 MyISAM 表。

    但还有一个其他的因素会导致存放到磁盘的 MyISAM 表,那就是 MEMORY 表不能处理 TEXT 和 BLOG 类型数据。这种情况下 MySQL 会直接写入磁盘中的 MyISAM,并算作是 Created_tmp_disk_tables 的值。

     

    如果临时表已经开始导致严重的 I/O 性能问题,那么你就要考虑使用磁盘内存映射来代替物理磁盘。

    在 Linux 上我们有两种方法在内存中建立 RAM-Disk,分别是 ramfs 和 tmpfs。

    这里我们推荐使用 tmpfs。

    可通过如下命令来创建 RAM-disk:
     

    shell> mkdir -p /mnt/ramdisk
    shell> chown mysql:mysql /mnt/ramdisk
    shell> mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk
    

    为了在系统下次启动时自动创建,我们可以将下列脚本置于 /etc/fstab 文件中:

     

    tmpfs      /mnt/ramdisk   tmpfs  rw,mode=1777  0    0
    

    MySQL 还是将数据写到默认的磁盘,可通过下面命令来检查:
     

    mysql> SHOW GLOBAL VARIABLES LIKE 'tmpdir';
    
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | tmpdir    | /tmp |
    +---------------+-------+
    

    你可以修复 my.cnf 文件来改变这个路径,然后重启数据库。


    上一篇:Mysql中LAST_INSERT_ID()函数使用方法总结

    下一篇:MySQL创建新用户、增加账户的方法总结

    相关内容

    • Python使用pycharm导入pymysql教程

      这篇文章主要介绍了Python使用pycharm导入pymysql教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

      04-19Python pycharm导入pymysql

      阅读更多
    • java中内存会泄露吗

      深入的探究这个问题就需要了解Java是如何管理内存的,需要通过关键字new为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间,对象的释放是由GC决定和执行的。在Java中,内存的分配是由程序完成的,而内存的释放是有GC完成的 Java理论上不存在内存泄露,因为有垃圾回收器(GC)对内存进行释放。 实际上,java也存在内存泄露问题,原因:主要是一些对象虽然不再被使用,但它们仍然被引用。 1、理论上来说,Java是有GC垃圾收机

      12-17java存在内存泄露吗

      阅读更多
    • 写java8g内存够吗

      8G即使跑虚拟机也基本够用,VM虚拟机运行Ubuntu,Android应用程序调试时候运行模拟器也勉强。Windows下Eclipse做Java开发4G内存也够了,IDE做单片机开发远远够了。看需求,Android的话内存大CPU强更好,其它要求并不高。还有就是固态硬盘提升读写速度,这对大型软件有意义。

      11-29java8g内存够吗

      阅读更多
    • Java内存映射及处理知识点总结

      这篇文章主要介绍了Java内存映射 大文件轻松处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

      01-16Java内存映射 大文件轻松处理

      阅读更多
    • 如何解决JDBC连接Mysql 8.0.11出现的各种问题

      这篇文章主要介绍了使用JDBC连接Mysql 8.0.11出现了各种错误的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学

      01-16使用JDBC连接Mysql 8.0.11出现了各种错误的解决

      阅读更多
    • PHP&MySQL跨设备网站开发实例精粹

      PHP&MySQL跨设备网站开发实例精粹

      这本书从易学实用的角度详细讲解了PHP、HTML5语法,MySQL数据库存取,网页之间的信息传递、表单的后端处理等,提供了丰富的网站开发范例,欢迎下载

      大小:80.9 MBPHP编程

      点击下载
    • MySQL运维内参

      MySQL运维内参

      《MySQL运维内参:MySQL、Galera、Inception核心原理与最佳实践》是一本介绍MySQL数据库知识的专业书籍,从核心原理到最佳实践,深入浅出、抽丝剥茧地进行讲解,不仅从源码和运维两个角度介绍

      大小:162 MBMySQL

      点击下载
    • MySQL技术内幕:InnoDB存储引擎

      MySQL技术内幕:InnoDB存储引擎

      《MySQL技术内幕:InnoDB存储引擎(第2版)》 由国内资深MySQL专家亲自执笔,国内外多位数据库专家联袂推荐。作为国内唯一一本关于InnoDB的专著,《MySQL技术内幕:InnoDB存储引擎(第2版)》的第1版广受

      大小:39.3 MBMySQL

      点击下载
    • PHP+MySQL动态网站开发从入门到精通

      PHP+MySQL动态网站开发从入门到精通

      《PHP+MySQL动态网站开发从入门到精通》本书循序渐进地介绍了PHP 7 MySQL 5.7开发动态网站的主要知识和技能,提供案例、课件、命令速查手册,让你看得懂、学得会、做得出,教你快速成为网站应用开发高手。

      大小:36.2 MB网站开发

      点击下载
    • 零点起飞学MySQL

      零点起飞学MySQL

      本书是一本MySQL的入门教程,是手把手教会读者使用该数据库的入门教程。本书概念清楚,用穿插类比和图解的方式进行讲解,可以让读者更加直观地理解和掌握MySQL的各个知识点。本书附带1张光盘,收录了本书配套多媒体教学视频及涉及的源文件,便于读者高效、直观地学习。

      大小:85.8 MBMySQL入门

      点击下载
    • MySQL与MariaDB学习指南

      MySQL与MariaDB学习指南

      MySQL与MariaDB学习指南 使读者不仅能够深入了解MySQL这种主流数据库,还能全面掌握作为开源数据库新秀的MariaDB的使用方法。书中内容由浅至深、层层深入,从分步介绍如何安装MySQL和MariaDB,到

      大小:68.9 MB数据库

      点击下载

    学习笔记