MYISAM 테이블을 INNODB 테이블로 변경

 

 

MYSQL 쿼리 프로시져 : 현재 선택된 DATABASE의 TABLE을 MYISMA에서 INNODB로 변경

DROP PROCEDURE IF EXISTS convertToInnodb;
DELIMITER //
CREATE PROCEDURE convertToInnodb()
BEGIN
mainloop: LOOP
  SELECT TABLE_NAME INTO @convertTable FROM information_schema.TABLES
  WHERE `TABLE_SCHEMA` LIKE DATABASE()
  AND `ENGINE` LIKE 'MyISAM' ORDER BY TABLE_NAME LIMIT 1;
  IF @convertTable IS NULL THEN
    LEAVE mainloop;
  END IF;
  SET @sqltext := CONCAT('ALTER TABLE `', DATABASE(), '`.`', @convertTable, '` ENGINE = INNODB');
  PREPARE convertTables FROM @sqltext;
  EXECUTE convertTables;
  DEALLOCATE PREPARE convertTables;
  SET @convertTable = NULL;
END LOOP mainloop;

END//
DELIMITER ;

CALL convertToInnodb();
DROP PROCEDURE IF EXISTS convertToInnodb;

 

PHP코드로 MYSQL 데이터베이스의 테이블을 MYISAM에서 INNODB로 변경

<?php

// Convert all MyISAM tables to INNODB tables in all non-special databases.
// Note: With MySQL less than 5.6, tables with a fulltext search index cannot be converted to INNODB and will be skipped.

if($argc < 4)
    exit("Usage: {$argv[0]} <host> <username> <password>\n");
$host = $argv[1];
$username = $argv[2];
$password = $argv[3];

// Connect to the database.
if(!mysql_connect($host, $username, $password))
    exit("Error opening database. " . mysql_error() . "\n");

// Get all databases except special ones that shouldn't be converted.
$databases = mysql_query("SHOW databases WHERE `Database` NOT IN ('mysql', 'information_schema', 'performance_schema')");
if($databases === false)
    exit("Error showing databases. " . mysql_error() . "\n");

while($db = mysql_fetch_array($databases))
{
    // Select the database.
    if(!mysql_select_db($db[0]))
        exit("Error selecting database: {$db[0]}. " . mysql_error() . "\n");
    printf("Database: %s\n", $db[0]);

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

    // Get all MyISAM tables in the database.
    $tables = mysql_query("SHOW table status WHERE Engine = 'MyISAM'");
    if($tables === false)
        exit("Error showing tables. " . mysql_error() . "\n");

    while($tbl = mysql_fetch_array($tables))
    {
        // Convert the table to INNODB.
        printf("--- Converting %s\n", $tbl[0]);
        if(mysql_query("ALTER TABLE `{$tbl[0]}` ENGINE = INNODB") === false)
            printf("--- --- Error altering table: {$tbl[0]}. " . mysql_error() . "\n");
    }
}

mysql_close();

?>

 

 

기타 또다른 참고 쿼리

SET @DATABASE_NAME = 'name_of_your_db';

SELECT  CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM    information_schema.tables AS tb
WHERE   table_schema = @DATABASE_NAME
AND     `ENGINE` = 'MyISAM'
AND     `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86127
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78632
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95352
124 MongoDB 간단 사용법 졸리운_곰 2016.05.10 1846
123 MongoDB, 설치와 간단 사용법 졸리운_곰 2016.05.10 1534
122 초간단 Mongo DB Quick Start Guide file 졸리운_곰 2016.05.10 1418
121 A Guide to Python Frameworks for Hadoop file 졸리운_곰 2016.04.30 3074
120 Writing an Hadoop MapReduce Program in Python file 졸리운_곰 2016.04.30 2189
119 SQL 기초 sample.pdf file 졸리운_곰 2016.03.16 2059
118 Select와 동시에 Delete 하기. 졸리운_곰 2016.03.16 3106
117 04. 데이터 모델링의 3단계 진행 file 졸리운_곰 2016.03.15 1659
116 데이터베이스 설계의 기본 원리.pdf file 졸리운_곰 2016.03.15 2353
» MYISAM 테이블을 INNODB 테이블로 변경 졸리운_곰 2016.03.13 1431
114 [참고자료] 공개커넥션풀 프로그램 졸리운_곰 2015.12.22 2207
113 [NoSQL, MongoDB] MongoDB 사용법, SQL과 MongoDB 쿼리문 비교 졸리운_곰 2015.10.15 1579
112 mysql cpu 점유율이 높을 때 졸리운_곰 2015.06.05 1888
111 실체유형(Entity Type) 정의 사항 및 도출 file 졸리운_곰 2015.05.21 2196
110 마농의 SQL 백문백답: 단순하고 쉽게 작성하는 SQL 노하우 [1회] file 졸리운_곰 2015.05.21 1829
109 sql개발자-sql전문가자격시험 시험 예제.pdf file 졸리운_곰 2015.02.15 2302
108 데이터베이스 선정에는 비밀이 있다 - 4부 졸리운_곰 2015.01.15 2095
107 데이터베이스 선정에는 비밀이 있다 - 3부 졸리운_곰 2015.01.15 2042
106 데이터베이스 선정에는 비밀이 있다 - 2부 졸리운_곰 2015.01.15 1827
105 데이터베이스 선정에는 비밀이 있다 - 1부 졸리운_곰 2015.01.15 2391
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED