programing

MySql - InnoDB를 MyISAM Storage Engine of Database로 변환

lastcode 2023. 10. 4. 21:58
반응형

MySql - InnoDB를 MyISAM Storage Engine of Database로 변환

데이터베이스 스토리지 엔진을 에서 변환하는 방법InnoDB로.MyISAM위에MySQL? 데이터베이스 테이블의 스토리지 엔진을 변환하는 사이트를 많이 찾았지만 데이터베이스용은 아니었습니다.i attached screen shot for better understand

미리 감사드립니다.

이거 써요!!

SET storage_engine=MYISAM;
ALTER TABLE table_name ENGINE = MyISAM;

-cheers!!

ALTER TABLE `table_name` ENGINE=INNODB

데이터베이스에 대한 기본 스토리지 엔진을 변경할 수는 없지만, 다음을 사용하여 전체 서버에 대해 변경할 수 있습니다.default-storage-engineconfig setting.그러나 변경 후 새로 생성된 테이블에 대해서만 기존 테이블의 스토리지 엔진이 실제로 변경되지는 않습니다.

데이터베이스는 MySQL에서 네임스페이스를 수행하는 방법일 뿐입니다. 데이터베이스에는 엔진이 연결되어 있지 않고 테이블에만 스토리지 엔진이 있기 때문입니다.그렇기 때문에 각각 다른 엔진을 가진 여러 개의 다른 테이블이 있는 데이터베이스를 가질 수 있습니다.

InnoDB로 전환하려면 각 테이블을 하나씩 수정해야 합니다.

영구적으로 만들려면 my.cnf에 추가합니다(맥락에 따라 몇 개의 위치).

/etc/my.cnf

default-storage-engine= MyISAM

안전을 위해 db 목록을 show database와 함께 출력합니다;

저 같은 경우는 빠른건 php를 사용해서..

$db = mysql_connect('localhost','someadmin','somepass');
$dbs = array();
$dbs[] = 'test';
$dbs[] = 'myImportantDb';

foreach($dbs as $v){
    mysql_select_db($v);
    $q = mysql_query('show tables');
    $tables = array();
    while($r = mysql_fetch_row($q)){
            $tables[] = $r[0];
    }
    foreach($tables as $t){
        echo "do $v.$t\n";
        mysql_query('ALTER TABLE `'.$t.'` ENGINE=MyISAM;');
    }
}
mysql_close($db);

In PhphMyadmin 4.5 가변 탭을 선택하고 스토리지 엔진을 찾고 편집을 선택한 후 MyISAM을 입력합니다.

PhpMyAdmin을 통해 스토리지 엔진을 변경할 수 있습니다.테이블의 상세 보기에서.스크린샷 보기:

PhphMyAdmin에서 스토리지 엔진 변경

언급URL : https://stackoverflow.com/questions/10280754/mysql-convert-innodb-to-myisam-storage-engine-of-database

반응형