mysql5.1数据库备份异常修复

概述

由于服务器迁移需要迁移历史mysql(一查是2016前的老的mysql,挺坚挺的),需要迁移到5.7.x版本上
通过mysqldump备份出sql(全库备份)文件在新的mysql中导入即可

开干

env

  • redhat6.x
  • mysql5.1.x

备份导入语句

mysqldump -h x -uroot -p321321 --single-transaction --all-databases | gzip > /opt/temp/all.sql.gz

gunzip < test.gz |mysql -hlocalhost -uroot -pxxxxx  

gzip/gunzip

01、marked as crashed

Couldn't execute show create tables is marked as crashed and last (automatic?) repair failed

resolved

01、停止mysql
service mysqld stop

02、修复索引文件
myisamchk
    -c  //--check	      Check table for errors
    -r  //--recover       Can fix almost anything except unique keys that aren't unique.

myisamchk -c -r /opt/mysql/sxws_fp/sdssbjk_rule_result_copy*.MYI

//防止默认参数过小大致失败,故加参数调大
myisamchk -c -r /data1/mariadb_data/databasename/*.MYI \
--tmpdir=/data1/tmp/ --sort_buffer_size=256M \
--key_buffer_size=256M --read_buffer_size=2M --write_buffer_size=2M

03、启动mysql
service mysqld start

02、table doesn't exist

mysql早期没开启大小写不敏感后期开启后,历史db下的表还是大写导致的历史问题(理论上需要重新再导入就可以了)所以删除db即可

01、删除异常db
drop database `sss-sss`;    // `x`可以防止特殊字符转义

Error dropping database (can't rmdir '
删除提示文件不存在,删除物理文件在drop就可以了
posted @ 2023-03-12 09:58  mvpbang  阅读(30)  评论(0编辑  收藏  举报