mysql常见错误解决方法

在使用mysql时我们经常遇到的错误

操作方法

  • 01

    【Too many connections错误 】 如果在你试土连接MySQL时,你得到错误Too many connections,这意味着已经有max_connections个客户连接了mysqld服务器。 如果你需要比缺省(100)更多的连接,那么你应该重启mysqld,用更大的 max_connections 变量值。 注意,mysqld实际上允许(max_connections+1)个客户连接。最后一个连接是为一个用Process权限的用户保留的。通过不把这个权限给一般用户(他们不应该需要它),有这个权限一个管理员可以登录并且使用SHOW PROCESSLIST找出什么可能出错。见7.21 SHOW句法(得到表,列的信息)。

  • 02

    【Out of memory错误 】 错误指向了MySQL客户mysql。这个错误的原因很简单,客户没有足够的内存存储全部结果。 为了修正这个问题,首先检查你的查询是否正确。它应该返回这么多的行,这合理吗?如果是这样,你可以使用mysql --quick,它使用mysql_use_result()检索结果集合。这将较少的负担放在了客户端(只是服务器更多)。

  • 03

    【Packet too large错误 】 当一个MySQL客户或mysqld服务器得到一个比max_allowed_packet个字节长的包,它发出一个Packet too large错误并终止连接。 如果你正在使用mysql客户,你可以通过用mysql --set-variable=max_allowed_packet=8M指定一个更大的缓冲区来启动客户程序。 如果你正在使用不允许你指定最大包大小的其他客户(例如 DBI),你需要在你启动服务器时设置包大小。你可以使用mysqld的命令行选项设置max_allowed_packet为一个更大的尺寸。例如,如果你正期望将一个全长的BLOB存入一张表中,你将需要用--set-variable=max_allowed_packet=24M选项来启动服务器。

  • 04

    【 MySQL怎样处理一个溢出的磁盘 】 当出现一个磁盘溢出的情况时,MySQL做下列事情: 它每分钟检查一次看是否有足够空间写入当前行。如果有足够的空间,它继续好像发生什么事情。 每6分钟它将有关磁盘溢出的警告写入日志文件。 为了缓和这个问题,你可以采取下列行动: 继续,你只需释放足够的空闲磁盘空间以便插入所有记录。 放弃线程,你必须发一个mysqladmin kill到线程。在下一次检查磁盘时,线程将被放弃(在1分钟内)。 注意,其他线程可能正在等待引起“磁盘溢出”条件的表。如果你有几个“锁定的”的线程,杀死正在等待磁盘溢出条件的那个线程将允许其他线程继续。

  • 05

    【Commands out of sync in client错误 】 如果你在你的客户代码中得到Commands out of sync; You can’t run this command now,你正在以错误的次序调用客户函数! 这可能发生,例如,如果你正在使用mysql_use_result()并且在你已经调用了mysql_free_result()之前试图执行新查询。如果你在mysql_use_result()或mysql_store_result()之间试图执行返回数据的2个查询,它也可能发生。

  • 06

    【Table ’xxx’ doesn’t exist错误 】 如果你得到错误Table ’xxx’ doesn’t exist或Can’t find file: ’xxx’ (errno: 2),这意味着在当前数据库中没有名为xxx的表存在。 注意,因为MySQL使用目录和文件存储数据库和表,数据库和表名件是区分大小写的!(在Win32上,数据库和表名不是区分大小写的,但是在查询中对所有表的引用必须使用相同的大小写!) 你可以用SHOW TABLES检查你在当前数据库中有哪个表。见7.21 SHOW句法(得到表、列的信息)。

  • 07

    【ERROR ’...’ not found (errno: 23), Can’t open file: ... (errno: 24)】 这里的问题是mysqld正在试图同时保持打开太多的文件。你也可以告诉mysqld一次不打开那么多的文件,或增加mysqld可得到的文件描述符数量。为了告诉mysqld一次保持打开更少的文件,你可以通过使用safe_mysqld的-O table_cache=32选项(缺省值是64)使表缓冲更小。减小max_connections值也将减少打开文件的数量(缺省值是90)。 要想改变mysqld可用的文件描述符数量,修改safe_mysqld脚本。脚本中有一条注释了的行ulimit -n 256。你可以删除’#’字符来去掉该行的注释,并且改变数字256改变为mysqld可用的文件描述符的数量。 ulimit能增加文件描述符的数量,但是只能到操作系统强加的限制。如果你需要增加每个进程可用的文件描述符数量的OS限制,参见你的操作系统文档。注意,如果你运行tcsh外壳,ulimit将不工作!当你请求当前限制时,tcsh也将报告不正确的值!在这种情况下,你应该用sh启动safe_mysqld!

  • 08

    【时区问题 】 如果你有一个问题,SELECT NOW()以GMT时间返回值而不是你的本地时间,你必须设定TZ环境变量为你的当前时区。这应该在服务器运行的环境进行,例如在safe_mysqld或mysql.server中。

  • 09

    【The table is full错误】 这个错误发生在内存临时表变得比tmp_table_size字节大时。为了避免这个问题,你可以使用mysqld的-O tmp_table_size=#选项来增加临时表的大小,或在你发出有疑问的查询之前使用SQL选项SQL_BIG_TABLES。见7.25 SET OPTION句法。 你也可以使用--big-tables选项启动mysqld。这与为所有查询使用SQL_BIG_TABLES完全相同。

(0)

相关推荐

  • 初装黑mac,常见错误解决方法一(五国)(-V)

    黑苹果产生原因----白苹果TM太贵了,所以黑苹果才是我等屌丝了解Mac系统的首选. 操作方法 01 各种模式说明 -v Verbose模式,就是传说中的啰嗦模式,让Mac系统在启动时显示所有日志纪录 ...

  • Mysql常见错误提示及解决方法

    Mysql常见错误提示及解决方法 操作方法 01 Mysql常见错误提示及解决方法 130 :文件格式不正确.(还不是很清楚错误的状况)145  :文件无法打开.1005:创建表失败.1006:创建数 ...

  • 惠普打印机常见故障解决方法

    惠普打印机常见故障及解决方法 1、问:惠普3030打印普通文档没问题,打印word就出错。 答:故障是word文件出错。 2问:惠普3030扫描灯一直在原位移动。 答:是扫描器检测白平衡出错,清洁扫描 ...

  • Windows7操作系统常见故障解决方法汇总(适用于xp/Vista/win8)

    在使用电脑享受上网的乐趣的同时,我们也不得不面对电脑出现的各种各样怪异的问题,今天小编在网络上收集了一些Windows操作系统常见故障解决方法汇总(本文适用于Windows XP/Vista/Win7 ...

  • 宽带连接错误解决方法大集合

    上网最烦的是什么?网速慢,广告,中病毒等等,其中最让人感到烦恼的莫过于那些莫名其妙弹出的“宽带连接错误XXX”的弹窗警告了,经常在这种时候你是上不了网的,身边有手机还好,刷着流量去百度找帖子解决,身边 ...

  • Windows操作系统常见故障解决方法汇总

    在使用电脑享受上网的乐趣的同时,我们也不得不面对电脑出现的各种各样怪异的问题,今天小编在网络上收集了一些Windows操作系统常见故障解决方法汇总(本文适用于Windows XP/Vista/Win7 ...

  • Win8/Win8.1系统常见错误代码解决方法汇总

    Win8/Win8.1系统常见错误代码解决方法汇总 1.宽带连接提示错误651 情况:网卡以及驱动均正常,在ADSL第一次拨号时会遇到"错误651"的提示,第二次拨号才能成功连接上 ...

  • OS X Yosemite系统下载失败怎么办?OS X 10.10下载错误解决方法

    苹果在2014年最后一场发布会中结束以后,开放了 Mac 上最新的 OS X Yosemite 系统下载。相信有很多小伙伴在升级更新时,会遇到不少问题,比如下载速度慢,下载错误等。那么OS X Yos ...

  • 为什么ps不能打字?ps不能打字程序错误解决方法

    为什么ps不能打字?小编带来了ps不能打字程序错误解决方法,当我们需要在图片上输入文字却提示失败的话,该怎么处理这样的问题呢?请看下文介绍吧。 依次打开编辑--首选项---文字,然后在文字后面的选项中 ...