分享一下Mysql常见的几个错误问题及解决方法

1.问题: mysql DNS反解:skip-name-resolve
 
错误日志有类似警告:

1.120119 16:26:04 [Warning] IP address '192.168.1.10' could not be resolved: Name or service not known
2.120119 16:26:04 [Warning] IP address '192.168.1.14' could not be resolved: Name or service not known
3.120119 16:26:04 [Warning] IP address '192.168.1.17' could not be resolved: Name or service not known

通过show processlist发现大量类似如下的连接:

1.|592|unauthenticated user|192.168.1.10:35320|NULL|Connect| |login|NULL|
2.|593|unauthenticated user|192.168.1.14:35321|NULL|Connect| |login|NULL|
3.|594|unauthenticated user|192.168.1.17:35322|NULL|Connect| |login|NULL|

skip-name-resolve 参数的作用:不再进行反解析(ip不反解成域名),这样可以加快数据库的反应时间。
 
修改配置文件添加并需要重启:

[mysqld]
skip-name-resolve
 
2.问题错误日志:Error: Can't create a new thread (errno 12)

数据库服务器问题,数据库操作无法创建新线程。一般是有以下3个方面的原因:
1)、MySQL 线程开得太多。
2)、服务器系统内存溢出。
3)、环境软件损坏或系统损坏。
 
【问题解决】

1.1)进入 phpmyadmin 的 mysql 数据库中的 user 表,对数据库的用户进行编辑,修改 max_connections 的值。适当的改小一点。
2.2)联系服务器管理员检查服务器的内存和系统是否正常,如果服务器内存紧张,请检查一下哪些进程消耗了服务器的内存,同时考虑是否增加服务器的内存来提高整个系统的负载能力。
3.3)mysql版本更改为稳定版本
4.4)优化网站程序的sql等等
 
3.  操作报错:ERROR 1010 (HY000): Error dropping database

1.mysql> drop database xjtrace;
2.ERROR 1010 (HY000): Error dropping database (can't rmdir './xjtrace/

在做数据库删除时出现这种提示,其原因是在database下面含有自己放进去的文件,譬如*.txt文件或*.sql文件等,只要进去把这个文件删了在执行。

1.mysql>drop database xjtrace;
2.Query OK, 0 rows affected (0.00 sec)

果断删除即可!!
 
4.导出数据很快,导入到新库时却很慢:
 
MySQL导出的SQL语句在导入时有可能会非常非常慢,经历过导入仅400万条记录,竟用了近2个小时。在导出时合理使用几个参数,可以大大加快导入的速度。
 
-e 使用包括几个VALUES列表的多行INSERT语法;
--max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;
--net_buffer_length=XXX TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行
注意:max_allowed_packet和net_buffer_length不能比目标数据库的配置数值大,否则可能出错。
 
首先确定目标库的参数值

mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)

mysql> show variables like 'net_buffer_length';

+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| net_buffer_length | 16384 |
+-------------------+-------+
1 row in set (0.00 sec)

根据参数值书写mysqldump命令,如:

mysql>mysqldump -uroot -p   数据库名 -e --max_allowed_packet=1048576 -net_buffer_length=16384 > SQL文件
 
例如:

1.mysql> mysqldump -uroot -p xjtrace -e --max_allowed_packet=1048576 --net_buffer_length=16384 >xjtrace_data_`date +%F`.sql
 
之前2小时才能导入的sql现在几十秒就可以完成了。

(0)

相关推荐

  • MySQL 常见错误分析与解决方法

     一.Can't connect to MySQL server on 'localhost'(10061)? 翻译:不能连接到localhost 上的mysql?分析:这说明"localhost"计算机是存在的,但在这台机器上却没提供MySQL服务.?需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误.?解决:既然没有启动那就去启动这台机子的mysql.如果启动不成功,多数是因为你的my.ini配置的有问题.重新配置其即可.?如果觉得mysql负载异常,

  • MySQL常见错误有哪些_MySQL常见错误的快速解决方法

    1. TokuFT file system space is really low and access is restricted 解决方法:修改tokudb_fs_reserve_percent参数,不过该参数是静止参数,需重启实例 2. 以上这篇MySQL常见错误有哪些_MySQL常见错误的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • mysql常见错误集锦

    #1067 - Invalid default value for 'xxx' 当修改表中某字段的时候,出现了这个错误.显示:字段名称已存在错误.只好删除该字段,重新添加 UTF-8导入MYSQL中文无显示今天把本地的MYSQL数据导出到web service,结果发现中文字符全不见了.配置如下: 程序代码   导出数据库5.0.45.字符集:UTF-8     导入数据库数据库5.0.22,也是UTF-8 结果发现是phpadmin版本不兼容,以至于导出数据出现问题,使用mysqldump指令

  • MySQL新手入门指南--快速参考

    一.SQL速成 以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册. 1.创建表 表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联.创建表的基本语法如下: create table table_name (column_name datatype {identity |null|not null}, -) 其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数dataty

  • 新手配置 PHP 调试环境(IIS+PHP+MYSQL)

    目的:配置运行PHP的环境(IIS+PHP+MYSQL+CF+Perl)支持php+cgi+asp+jsp等 操作系统:windows2000 advance server(sp3)简体中文版 需要相关软件: 一:php-4.3.0-Win32.zip ,到相应站点下载,我上传文件不方便,以下同. 二:ActivePerl-5.6.1.635-MSWin32-x86.msi ,注意,必须下载安装文件,就是说.msi的,不要下原代码了,我也不会弄原代码,加装这个支持cgi,如果你不想支持cgi也可

  • MySQL操作数据库和表的常用命令新手教程

    我是新手 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一些信手拈来的命令. 处理数据库 1.查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. 复制代码 代码如下: mysql> show databases; 2.创建数据库 复制代码 代码如下: mysql> create database db_test; Query OK, 1 ro

  • 关于mysql调用新手们常犯的11个错误总结

    前言 大家可能经常收到安全部门的警告邮件,SQL注入,XSS攻击漏洞等等,偶尔还被黑客挂了小马,郁闷不?还有数据库执行太慢(根据经验基本是没有正确使用索引导致) ,下面就跟着小编来一起看看MYSQL新手们常犯的11个错误吧. 1.使用MyISAM而不是InnoDB MySQL有很多的数据库引擎,单一般也就用MyISAM和InnoDB. MyISAM是默认使用的.但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的.MyISAM不支持外键的 约束,这是保证数据完整

  • mysql常见的错误提示问题处理小结

    1.mysql服务无法启动,报1067错误 解决方案: 1).把mysql服务端解压目录新加一个my.ini文件,内容如下 [mysqld] # set basedir to installation path, e.g., c:/mysql # 设置为MYSQL的安装目录 basedir=c:/tool/mysql5617win32 # set datadir to location of data directory, # e.g., c:/mysql/data or d:/mydata/d

  • 分享一下Mysql常见的几个错误问题及解决方法

    1.问题: mysql DNS反解:skip-name-resolve   错误日志有类似警告: 1.120119 16:26:04 [Warning] IP address '192.168.1.10' could not be resolved: Name or service not known 2.120119 16:26:04 [Warning] IP address '192.168.1.14' could not be resolved: Name or service not k

  • MySQL常见内存不足启动失败的完美解决方法

    1.启动MySQL时一直不成功,查看错误日志 /var/log/mysql/error.log 2.主要的错误信息有如下几条: [ERROR] InnoDB: mmap(136151040 bytes) failed; errno 12 [ERROR] InnoDB: Cannot allocate memory for the buffer pool [ERROR] InnoDB: Plugin initialization aborted with error Generic error [

  • PHP常见的6个错误提示及解决方法

    在php开发过程中,由于不知道向谁求助而心慌意乱地判断以为自己不适合学php.其实错误在每个人学习过程中都会碰到的,千万不要妄自菲薄.很多错误在报错的代码提示中已经告诉我们了,仔细看,不会就百度.现总结一些常见的php错误,以共享php新人. Php常见错误提示 一.Fatal error: Call to undefined function-- 函数不存在,可能的原因: 1.系统不存在这个函数且你也没自定义 2.有人会问,我在别的机器上就不报错.那是因为环境不同,这个函数在本机没开,怎么开?

  • Navicat连接虚拟机mysql常见错误问题及解决方法

    问题1 解决 启动服务:service mysqld start; /sbin/iptables -I INPUT -p tcp --dport 8011 -j ACCEPT #开启8011端口 /etc/rc.d/init.d/iptables save #保存配置 /etc/rc.d/init.d/iptables restart #重启服务 #查看端口是否已经开放 /etc/init.d/iptables status 问题2 解决 Mysql -u root -proot(root为密码

  • 关于MySql 10038错误的完美解决方法(三种)

    第一种方法: 第一步: 先看报错窗口 2003 can't connect to MySQL server on '127.0.0.1'(10038). 第二步: 原因是:远程3306端口未对外开放操作. 第三步: 首先远程连接服务器,点击"开始"--> "管理工具"-->"高级安全Windows防火墙". 第四步: 在打开的窗口中,左边选中"入站规则",右边点击"新建规则"来建立一个入站规则.

  • MySQL数据库 1067错误号的解决方法

    在Windows Professional 7 64-bit系统下安装了MySQL 5.6,但是某一天发生了错误,错误号:1067:怎么解决这个问题呢? 以下为解决步骤: 1.以系统管理员登陆: 2.停止MySQL服务: 3.进入CMD命令行模式,然后进入MySQL的安装目录,假设是D:/MySQL/MySQL Server 5.6/: 4.跳过权限检查启动MySQL,使用命令 D:/MySQL/MySQL Server 5.6/bin/mysqld-nt –-skip-grant-tables

  • mysql一对多关联查询分页错误问题的解决方法

    xml问价中查询数据中包含list,需要使用collection <resultMap id="XX" type="com.XXX.XXXX"> <id column="o_id" jdbcType="BIGINT" property="id" /> <result column="o_user_id" jdbcType="BIGINT"

  • MySQL修改my.cnf配置不生效的解决方法

    本文实例讲述了MySQL修改my.cnf配置不生效的解决方法.分享给大家供大家参考,具体如下: 一.问题: 修改了 my.cnf 配置文件后,却不生效,这是怎么回事? 二.原因: 我们注意到,这里只说了修改 my.cnf,并没有说清楚其绝对路径是哪个文件.也就是说,有可能修改的不是正确路径下的my.cnf文件. 在MySQL中,是允许存在多个 my.cnf 配置文件的,有的能对整个系统环境产生影响,例如:/etc/my.cnf.有的则只能影响个别用户,例如:~/.my.cnf. MySQL读取各

  • Yii使用ajax验证显示错误messagebox的解决方法

    本文实例讲述了Yii使用ajax验证显示错误messagebox的解决方法.分享给大家供大家参考.具体方法如下: yii 自带了ajax 表单验证 这个可能有些朋友不知道了,但我今天在使用yii 自带的ajax 表单验证 时碰到一些问题,下面我来整理例子与大家参考一下. 在Yii中,可以利用ajax执行一个action,但是这个action有时候会有弹出错误讯息的需求,这时候的处理方式如下 基本思想 利用exception,比如: 复制代码 代码如下: throw new CHttpExcept

随机推荐