美文网首页
mysql 快速修复所有表错误

mysql 快速修复所有表错误

作者: totzcc | 来源:发表于2017-08-10 10:57 被阅读6次

    检查、优化、并修复所有的数据库用:

    mysqlcheck -A -o -r -p
    

    快速转换表类型

    drop PROCEDURE if EXISTS alter_table_type;
    create PROCEDURE alter_table_type()
    BEGIN
    DECLARE v_sql VARCHAR(500);
    DECLARE tb_name VARCHAR(500);
    DECLARE all_tables CURSOR for select table_name from information_schema.`TABLES` where information_schema.`TABLES`.TABLE_SCHEMA = '数据库名';
    open all_tables;
    LOOP
    FETCH all_tables into tb_name;
    select CONCAT('alter ',tb_name);
    set v_sql = concat('ALTER TABLE `',tb_name,'` ENGINE=MyISAM;');
    set @v_sql=v_sql;
    PREPARE stmt from @v_sql;
    EXECUTE stmt;
    deallocate prepare stmt;
    END LOOP;
    close all_tables;
    select 'ok';
    end;
    call alter_table_type();
    drop PROCEDURE alter_table_type;
    

    相关文章

      网友评论

          本文标题:mysql 快速修复所有表错误

          本文链接:https://www.haomeiwen.com/subject/jbthrxtx.html