MYSQL查看和修改存储引擎
最近,公司的BBS壓力越來越大,表死鎖越來越嚴重。
在其它優化同作的情況下,MYISAM引擎轉為INNODB引擎也納入計劃當中。
參考URL如下:簡單,但要注意備份。。。
============
http://www.linuxidc.com/Linux/2012-10/72884.htm
http://jfbcb.com/article/detail/change-the-mysql-table-storage-engine/
============
?
MySQL作為最常用的數據庫,經常遇到各種各樣的問題。今天要說的就是表存儲引擎的修改。有三種方式,列表如下。
1.真接修改。在數據多的時候比較慢,而且在修改時會影響讀取性能。my_table是操作的表,innoDB是新的存儲引擎。
ALTER?TABLE?my_table ENGINE=InnoDB2.導出,導入。這個比較容易操作,直接把導出來的sql文件給改了,然后再導回去。用mysqldump ,楓哥常用的是navicate那樣更容易上手。友情提醒風險較大。
3.創建,插入。這個比第一種速度快, 安全性比第二種高,推薦。分2步操作
? ?a.創建表,先創建一個和要操作表一樣的表,然后更改存儲引擎為目標引擎。 ? ?
CREATE?TABLE?my_tmp_table?LIKE?my_table; ALTER?TABLE?my_tmp_table ENGINE=InnoDB;? b.插入。為了安全和速度,最好加上事務,并限制id(主鍵)范圍。
INSERT?INTO?my_tmp_table?SELECT?*?FROM?my_table
就到這里,希望對需要的同學有幫助。
=====================
1 查看系統支持的存儲引擎
show engines;
2 查看表使用的存儲引擎
兩種方法:
a、show table status from db_name where name='table_name';
b、show create table table_name;
如果顯示的格式不好看,可以用\g代替行尾分號
有人說用第二種方法不準確,我試了下,關閉掉原先默認的Innodb引擎后根本無法執行show create table table_name指令,因為之前建的是Innodb表,關掉后默認用MyISAM引擎,導致Innodb表數據無法被正確讀取。
3 修改表引擎方法
alter table table_name engine=innodb;
4 關閉Innodb引擎方法
關閉mysql服務: net stop mysql
找到mysql安裝目錄下的my.ini文件:
找到default-storage-engine=INNODB 改為default-storage-engine=MYISAM
找到#skip-innodb 改為skip-innodb
啟動mysql服務:net start mysql
總結
以上是生活随笔為你收集整理的MYSQL查看和修改存储引擎的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人人都是架构师: 约束和原则
- 下一篇: fastjson解析json简介