如何數據庫存儲引擎從InnoDB
轉換爲MyISAM
上MySQL
的? 我發現很多網站轉換數據庫表的存儲引擎,但不是數據庫。 的MySQL - InnoDB的轉換對MyISAM存儲引擎數據庫
在此先感謝。
如何數據庫存儲引擎從InnoDB
轉換爲MyISAM
上MySQL
的? 我發現很多網站轉換數據庫表的存儲引擎,但不是數據庫。 的MySQL - InnoDB的轉換對MyISAM存儲引擎數據庫
在此先感謝。
您無法更改數據庫的默認存儲引擎,但可以使用default-storage-engine
配置設置更改整個服務器。請注意,這實際上並不會改變現有表的存儲引擎,只是爲了在更改後創建新的存儲引擎。
感謝您的答案,它可以幫助我,並很抱歉,遲到的答覆。 – 2013-03-07 13:22:49
數據庫只是MySQL執行名稱空間的方式,因爲數據庫沒有與其關聯的引擎,只有表具有存儲引擎。這就是爲什麼你可以擁有一個數據庫,每個數據庫有不同的引擎。
您必須逐個修改每個表以將其切換到InnoDB。
ALTER TABLE `table_name` ENGINE=INNODB
使用此!
SET storage_engine=MYISAM;
ALTER TABLE table_name ENGINE = MyISAM;
-cheers !!
我想將InnoDB轉換爲數據庫非表的MyISAM存儲引擎。 – 2013-10-09 10:44:49
謝謝。這節省了我很多時間。當我在運行MySQL(mariadb)的Raspberry PI上執行此操作時,系統在執行大插入或更新時最終停止了鎖定。速度快了10倍 – 2016-07-05 15:15:23
使其永久,添加到my.cnf文件(由具體情況決定幾個位置)
的/etc/my.cnf
default-storage-engine= MyISAM
爲了安全,輸出分貝清單, 秀數據庫;
在我的情況下,使用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);
在phpMyAdmin 4.5 選擇變量選項卡,並找到 存儲引擎 並選擇編輯和類型的MyISAM。
您可以通過PhpMyAdmin更改存儲引擎。在表格的細節視圖中。見截圖:
你的意思是你已經嘗試過這個? [http://dev.mysql.com/doc/refman/5.0/en/converting-tables-to-innodb.html](http://dev.mysql.com/doc/refman/5.0/en/converting- tables-to-innodb.html) – 2012-04-23 12:53:50
我想轉換數據庫不是表格。你給的這個鏈接是用於轉換表格的不是數據庫 – 2012-04-23 13:27:48
如果這個問題有幫助,你也可以upvote也不只答案... – 2013-03-14 07:20:38