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 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型