云服务器网:购买云服务器和VPS必上的网站!

mysql内存配置(mysql内存配置文件)

本文目录:1、mysql数据库out of memory 内存溢出2、安装mysql时出现 0x005ed410指令引用的0x00000000内存。该内存不能为read。这是什么问题呀?怎么解决呢?3、linux怎么修改mysql数据库临时表空间大小mysql数据库out of memory 内存溢

本文目录:

  • 1、mysql数据库out of memory 内存溢出
  • 2、安装mysql时出现 0x005ed410指令引用的0x00000000内存。该内存不能为read。这是什么问题呀?怎么解决呢?
  • 3、linux怎么修改mysql数据库临时表空间大小

mysql数据库out of memory 内存溢出

1.修改配置文件,扩大查询内存方面的,例如tmp_table_size,还有别的根据实际情况放大点

2.优化查询语句,尽量避免查询整张表的数据

安装mysql时出现 0x005ed410指令引用的0x00000000内存。该内存不能为read。这是什么问题呀?怎么解决呢?

您好!出现:0x???????? 指令引用的0x????????内存。该内存不能为”read”或”written”。答案【shijan8原创】★严禁复制★

【1】对电脑没有影响或【偶尔】出现,不用管它,【重启电脑】后可能会自动消失。

【2】盗版系统或Ghost版本系统,系统文件错误或丢失,也会出现该问题,及时安装官方发行的补丁,{检查电脑年、月、日是否正确}。建议:最好安装【正版】系统或【完整版】系统。

【3】检查驱动是否出现问题,重新安装驱动或及时更新驱动。

【4】病毒引起的:升级杀毒软件或下载专杀工具,清理恶意插件,对电脑全盘杀毒。

【5】硬件引起的:

(1)可能是内存条出现的小问题,关机断电,把内存条拆下清理干净重新安装。必要时更换内存条。(硬件上一般不会出现该问题)

【6】软件引起的:

(1)安装的软件与系统或其它软件发生冲突,盗版或带病毒的软件,请慎重下载软件,最好使用正版。【这里主要说的是检查开机启动项,把没必要启动的启动项禁止开机启动】

(2)如果你的电脑中安装了两款或两款以上的同类软件,比如:两款杀毒软件、两款优化系统软件等,请卸载一款,以免发生冲突,以保持电脑稳定性。

(3)有些系统补丁下载安装了错误补丁,可能与您当前的系统或其它软件发生冲突,也会出现该问题。卸载该补丁,找到适合您电脑补丁,重新下载重新安装。

(4)当下载安装或打开运行播放器、游戏、QQ等第三方软件,出现该问题时。可能是您下载的软件存在着危险,系统本身为了保护系统不受影响,也会出现该内存不能为“read”或“wrtten”。一般的解决办法就是卸载该软件重新安装。如果不能解决,需要更换同类型其它版本的软件,或找到发生冲突的软件卸载它,问题才能解决。

如果上面说的检查都没问题,可以试试下面的方法:看看能不能解决。

◆开始→运行→输入cmd→回车,在命令提示符下输入下面命令

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。

完成后,在输入下面的

for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。

如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。

●在检查运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks 下,应该只有一个正常的键值{AEB6717E-7E19-11d0-97EE-00C04FD91972}, 将其他的删除。【如果还有一个(默认)值不用管它,一般它为空。】必要时【还原】或重新安装系统。

linux怎么修改mysql数据库临时表空间大小

先来说说临时表的概念。 临时表顾名思义,就是临时的,用完销毁掉的表。 数据既可以保存在临时的文件系统上,也可以保存在固定的磁盘文件系统上。 临时表有下面几种:

1全局临时表

这种临时表从数据库实例启动后开始生效,在数据库实例销毁后失效。在MySQL里面这种临时表对应的是内存表,即memory引擎。

2会话级别临时表

这种临时表在用户登录系统成功后生效,在用户退出时失效。在MySQL里的临时表指的就是以 create temporary table 这样的关键词创建的表。

3事务级别临时表

这种临时表在事务开始时生效,事务提交或者回滚后失效。 在MySQL里面没有这种临时表,必须利用会话级别的临时表间接实现。

4检索级别临时表

这种临时表在SQL语句执行之间产生,执行完毕后失效。 在MySQL里面这种临时表不是很固定,跟随MySQL默认存储引擎来变化。比如默认存储引擎是MyISAM,临时表的引擎就是MyISAM,并且文件生成形式以及数据运作形式和MyISAM一样,只是数据保存在内存里;如果默认引擎是INNODB,那么临时表的引擎就是INNODB,此时它的所有信息都保存在共享表空间ibdata里面。

MySQL 5.7对于InnoDB存储引擎的临时表空间做了优化。在MySQL 5.7之前,INNODB引擎的临时表都保存在ibdata里面,而ibdata的贪婪式磁盘占用导致临时表的创建与删除对其他正常表产生非常大的性能影响。在MySQL5.7中,对于临时表做了下面两个重要方面的优化:

MySQL5.7 把临时表的数据以及回滚信息(仅限于未压缩表)从共享表空间里面剥离出来,形成自己单独的表空间,参数为innodb_temp_data_file_path。

在MySQL5.7 中把临时表的相关检索信息保存在系统信息表中:information_schema.innodb_temp_table_info. 而MySQL 5.7之前的版本想要查看临时表的系统信息是没有太好的办法。

需要注意的一点就是,虽然INNODB临时表有自己的表空间,但是目前还不能自己定义临时表空间文件的保存路径,只能是继承innodb_data_home_dir。此时如果想要拿其他的磁盘,比如内存盘来充当临时表空间的保存地址,只能用老办法,做软链。举个小例子:

我现在用的OS是 Ubuntu12.X,想用tmpfs文件系统充当临时表空间,

root@ytt-master-VirtualBox:/usr/local/mysql/data ln -s/run/shm/ /usr/local/mysql/data/tmp_space2

root@ytt-master-VirtualBox:/usr/local/mysql/datals -l | grep ‘shm’

lrwxrwxrwx1 root root 9 Nov 13 10:28tmp_space2 – /run/shm/

然后把

innodb_temp_data_file_path=tmp_space2/ibtmp2:200M:autoextend

添加到my.cnf里的[mysqld]下面一行

重启MySQL服务后,

mysqlselect @@innodb_temp_data_file_path\G

***************************1. row ***************************

@@innodb_temp_data_file_path:tmp_space2/ibtmp2:200M:autoextend

1 rowin set (0.00 sec)

先写一个批量创建临时表的存储过程:

DELIMITER$$

USE`t_girl`$$

DROPPROCEDURE IF EXISTS `sp_create_temporary_table`$$

CREATEDEFINER=`root`@`localhost` PROCEDURE `sp_create_temporary_table`(

IN f_cnt INT UNSIGNED )

BEGIN

DECLARE i INT UNSIGNED DEFAULT 1;

WHILE i = f_cnt

DO

SET @stmt = CONCAT(‘create temporarytable tmp’,i,’ ( id int, tmp_desc varchar(60));’);

PREPARE s1 FROM @stmt;

EXECUTE s1;

SET i = i + 1;

END WHILE;

DROP PREPARE s1;

END$$

DELIMITER;

现在来创建10张临时表:

mysqlcall sp_create_temporary_table(10);

QueryOK, 0 rows affected (0.07 sec)

如果在以前,我们只知道创建了10张临时表,但是只能凭记忆或者手工记录下来临时表的名字等信息。

现在可以直接从数据字典里面检索相关数据。

mysql select * frominformation_schema.innodb_temp_table_info;

+———-+————–+——–+——-+———————-+—————+

|TABLE_ID | NAME | N_COLS | SPACE| PER_TABLE_TABLESPACE | IS_COMPRESSED |

+———-+————–+——–+——-+———————-+—————+

| 56 | sql1705_2_9 | 5 | 36 | FALSE | FALSE |

| 55 | sql1705_2_8 | 5 | 36 | FALSE |FALSE |

| 54 | sql1705_2_7 | 5 | 36 | FALSE | FALSE |

| 53 | sql1705_2_6 | 5 | 36 | FALSE | FALSE |

| 52 | sql1705_2_5 | 5 | 36 | FALSE |FALSE |

| 51 | sql1705_2_4 | 5 | 36 | FALSE | FALSE |

| 50 | sql1705_2_3 | 5 | 36 | FALSE | FALSE |

| 49 | sql1705_2_2 | 5 | 36 | FALSE |FALSE |

| 48 | sql1705_2_1 | 5 | 36 | FALSE | FALSE |

| 47 | sql1705_2_0 | 5 | 36 | FALSE | FALSE |

+———-+————–+——–+——-+———————-+—————+

10rows in set (0.00 sec)

功能性我就写到这里,大家性能方面如果有兴趣可以找时间去测试。

本文来源:https://www.yuntue.com/post/103679.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注