标签分类
技术文章
当前位置:主页 > 计算机编程 > mysql > MySQL的临时目录建立在内存中的教程

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

  • 发布时间:
  • 作者:码农之家原创
  • 点击:137

MySQL的临时目录建立在内存中的教程

这篇文章主要知识点是关于MySQL,临时目录,内存,MySQL的临时目录建立在内存中的教程,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

PHP、MySQL与JavaScript学习手册
  • 类型:PHP大小:76 MB格式:PDF出版:中国电力出版社作者:Robin Nixon
立即下载

 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 文件来改变这个路径,然后重启数据库。

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到解决axios.interceptors.respon、 儿童python编程入门书籍推、 vue项目中使用md5加密以及、 等mysql文章进一步学习,感谢大家的阅读和支持。

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

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

展开 +

收起 -

学习笔记
网友NO.415856

mysql 5.7.21 解压版通过历史data目录恢复数据的教程图解

情况说明: 数据库非正常启动关闭导致再次启动服务的时候,提示一直“正在启动”,无奈只好重新安装该解压版程序。 关于如何安装:https://www.jb51.net/article/148140.htm 请访问该文章。 安装成功并生成data文件目录,设置好用户密码之类的,目录效果如下: 下面进行数据恢复,很简单。 1.找到之前(我之前一直启动不成功路径F:\mysql-5.7.21-winx64)的数据库目录下的data文件夹,目录如下: 里面有很多的历史文件,其他都不要管,1 是ibdata1 该文件是必须要拷贝过去的,2 是我要恢复的数据库名称 关闭mysql服务,将这两个文件拷贝到新安装的mysql 的data文件目录(F:\Program Files\mysql-5.7.21-winx64)下,重新启动服务,你会发现OJBK了。 点开之后,里面的表一个都不少。 总结 以上所述是小编给大家介绍的mysql 5.7.21 解压版通过历史data目录恢复数据的教程图解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持! ……

网友NO.719134

win2008 R2服务器下修改MySQL 5.5数据库data目录的方法

说明: 操作系统:Windows Server 2008 R2 MySQL版本:5.5.25a MySQL程序安装目录:D:\Program Files\MySQL\MySQL Server 5.5 MySQL数据库默认目录:C:\ProgramData\MySQL\MySQL Server 5.5\data\ 需求: 修改MySQL数据库目录为D:\Program Files\MySQL\MySQL Server 5.5\data 具体操作: 一、停止MySQL 开始-cmd net stop mysql55 二、复制原来数据库目录到新目录 1、备份D:\Program Files\MySQL\MySQL Server 5.5\中的data目录为data-bak 2、复制C:\ProgramData\MySQL\MySQL Server 5.5\中的data目录到 D:\Program Files\MySQL\MySQL Server 5.5\目录下 系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 三、修改MySQL配置文件 1、用记事本打开C:\ProgramData\MySQL\MySQL Server 5.5\data\目录下的my.ini 找到datadir="C:\ProgramData\MySQL\MySQL Server 5.5\data" 在前面加#注释掉 在下面添加一行 datadir="D:\Program Files\MySQL\MySQL Server 5.5\data" 修改完成后,保存退出。 2、复制C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\目录下的my.ini到 D:\Program Files\MySQL\MySQL Server 5.5\目录下 四、重新启动MySQL 1、开始-cmd net start mysql55 2、进入MySQL控制台 开始-所有程序-MySQL-MySQL Server 5.5-MySQL 5.5 Command Line Client 提示输入MySQL root账号的密码,输入之后回车,进入MySQL控制台 show variables like '%datadir%'; #查询MySQL数据库存放目录,如下图所示 可……

网友NO.643466

MySQL重定位数据目录的方法

本文实例讲述了MySQL重定位数据目录的实现方法。分享给大家供大家参考。具体方法如下: MySQL允许重定位数据目录或其中的成员,这里就来介绍重定位MySQL数据目录的方法,对此方面感兴趣的朋友不妨看一下。 重定位MySQL数据目录 MySQL数据目录结构是缺省配置,所有数据库和状态文件均包含其中,然而,你有某些自由决定数据目录内容的位置,这里讨论为什么你可能移走部分数据目录(或甚至目录本身)、你能移走什么以及你如何做这些改变。 MySQL允许你重定位数据目录或其中的成员,由几个原因你为什么要这样做: 你能将MySQL数据目录放在你缺省所在的文件系统更大容量的文件系统上。 如果你的MySQL数据目录在一个繁忙的硬盘上,你可能把它放在不太忙的磁盘上以均衡磁盘活动。你可以把数据库和日志文件放在分开的磁盘上或跨磁盘分布。 你可能想运行多个服务器,各自有自己的数据目录,这是解决每个进程文件描述符限制问题的一种方法,特别是你不能重新配置内核以允许更高的限制。 有些系统在例如/var/run中保存服务器的部分文件,你可能想把MySQL的PID文件也放在那儿,为了系统操作的一致性。 MySQL数据目录重定位方法 有两种方法重定位MySQL数据目录的内容: 你可以在服务器启动时指定选项,在命令行或在一个……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明