msh158 2013-10-12 03:24 采纳率: 0%
浏览 864

mysql 表检及自动修复测脚本

我想写一个bat脚本,来检测哪些表损坏了,并能根据检测到的结果对损坏的表进行自动关机修复。用mysqlcheck不行,我的存储引擎是innoDB

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-03-24 19:35
    关注

    该回答引用ChatGPT-3.5

    可以使用以下步骤来编写一个检查和修复损坏的InnoDB表的bat脚本:

    • 首先,使用mysqlcheck命令检查所有的InnoDB表,将检查结果输出到一个文本文件中:
      mysqlcheck --defaults-file=/path/to/my.cnf --all-databases --auto-repair --optimize 2> /path/to/check_results.txt
      
      这里使用了--defaults-file选项指定MySQL配置文件的路径,--all-databases选项检查所有的数据库和表,--auto-repair选项自动修复损坏的表,--optimize选项优化表的性能,2> /path/to/check_results.txt将错误信息输出到文本文件中。
    • 然后,使用grep命令从文本文件中筛选出损坏的表的列表:
      grep -iE "error|warning|corrupt" /path/to/check_results.txt > /path/to/corrupted_tables.txt
      
      这里使用了grep命令来查找包含"error"、"warning"或"corrupt"关键字的行,将结果输出到一个文本文件中。
    • 最后,使用MySQL命令行工具来修复损坏的表:
      mysql --defaults-file=/path/to/my.cnf -e "SET GLOBAL innodb_fast_shutdown = 0; shutdown;"
      
      这里使用了mysql命令来连接到MySQL服务器,并使用-e选项执行一条SQL语句。SET GLOBAL innodb_fast_shutdown = 0;将innodb_fast_shutdown参数设置为0,以确保MySQL正常关闭并刷新所有未写入磁盘的事务日志。然后,使用shutdown命令关闭MySQL服务器。

    完整的脚本如下所示:

    @echo off
    set MYSQL_CONFIG_FILE=/path/to/my.cnf
    mysqlcheck --defaults-file=%MYSQL_CONFIG_FILE% --all-databases --auto-repair --optimize 2> /path/to/check_results.txt
    grep -iE "error|warning|corrupt" /path/to/check_results.txt > /path/to/corrupted_tables.txt
    for /f "tokens=1" %%a in (/path/to/corrupted_tables.txt) do (
      mysql --defaults-file=%MYSQL_CONFIG_FILE% -e "SET GLOBAL innodb_fast_shutdown = 0; shutdown;"
      echo Repairing table %%a...
      mysqlcheck --defaults-file=%MYSQL_CONFIG_FILE% --databases %%a --auto-repair --optimize
    )
    echo Done.
    

    注意:在使用脚本之前,请将文件路径和MySQL配置文件的路径替换为您自己的路径。此脚本仅适用于Windows操作系统。

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)