zoukankan      html  css  js  c++  java
  • Mysqldump报错和常用参数

    一、 ERROR 1114 (HY000): The table 'XXX' is full
    原因:磁盘满了

    二、发生上述的1114错误后,删掉日志,mysql启动失败报错
    Set innodb_force_recovery=1 to ignore this and to permanently lose all changes to the tablespace.

    解决:https://www.cnblogs.com/barneywill/p/10532996.html
    修改my.cnf,添加
    innodb_force_recovery=1
    再重启正常,但是各种报错
    CREATE TABLE bad_table ENGINE=MyISAM ...
    rm bad_table.ibd
    DROP TABLE bad_table
    CREATE TABLE bad_table ENGINE=INNODB ...
    然后再恢复数据

    也有可能报错时并没有指出具体出错的文件或者表,类似
    2019-11-25T12:54:59.258844Z 0 [ERROR] InnoDB: Database page corruption on disk or a failed file read of page [page id: space=0, page number=593]. You may have to recover from a backup.

    这时需要使用mysqlcheck命令来检查某个数据库

    mysqlcheck -uroot -proot $dbname

    三、ERROR 1050 (42S01) at line 25: Table 'zq_xbh_test.auth_assignment' already
    原因:是上述ERROR 1114的遗留问题,之前虽然因为磁盘空间失败了,但是有数据保留在mysql的tablesapce,你创建导入的数据库就会自动创建一个表的xxx.ibd文件,而table表是由ibd数据文件和frm表结构文件组成,自然就报错

    四、ERROR 1030 (HY000) at line 25: Got error 168 from storage engine
    mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table file_storage at row: 29
    该问题属于机器的磁盘空间或mysql的临时目录 不足所引起的。
    可以通过df -h来查看磁盘空间的使用情况。
    show variables like '%dir%'

    五、mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table zq_ticket_store_33 at row: 171391
    原因:排查了my.cnf参数等问题,查看dmesg日志(dmesg -T),发现是mysql内存过多导致内存OOM溢出,系统自动把mysqld进程杀了
    解决:修改配置文件,修改查询缓存等参数
    如果不是OOM原因,那么修改配置文件的net_read_timeout、net_write_timeout、max_allowed_packet、quick参数或调低其他查询缓存等参数
    net_read_timeout、net_write_timeout、max_allowed_packet、quick

    六、常见参数
    https://blog.csdn.net/qq_27229113/article/details/102702194
    https://www.cnblogs.com/youjianjiangnan/p/9390777.html

    常见选项:
    --all-databases, -A: 备份所有数据库
    --databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。

    --force, -f:即使发现sql错误,仍然继续备份
    --host=host_name, -h host_name:备份主机名,默认为localhost
    --no-data, -d:只导出表结构
    --password[=password], -p[password]:密码
    --port=port_num, -P port_num:制定TCP/IP连接时的端口号
    --quick, -q:快速导出
    --tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
    --user=user_name, -u user_name:用户名
    --xml, -X:导出为xml文件

    常用:
    导出所有数据库的结构和数据
    mysql -uroot -p123456 -A > all.sql

    导出单库的结构和数据
    mysql -uroot -p123456 databasename > test.sql

    mysqldump -uroot -p --host=localhost --all-databases --lock-all-tables

  • 相关阅读:
    【STM32H7】第3章 ThreadX GUIX和GUIX Studio介绍
    【STM32F429】第3章 ThreadX GUIX和GUIX Studio介绍
    Spring Boot Devtools 依赖详解
    《深入理解 Java 虚拟机》-- 读书笔记
    JAVA连接MySQ报错:Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version
    JAVA生成文件的md5校验值
    IDEA启动报错:Error:java: Compilation failed: internal java compiler error
    JAVA读取本地html文件里的html文本
    SpringBoot打包实现静态文件、配置文件、jar包分离
    SpringBoot中Post请求提交富文本数据量过大参数无法获取的问题
  • 原文地址:https://www.cnblogs.com/wangchengshi/p/12364465.html
Copyright © 2011-2022 走看看