1. 程式人生 > >mysql存儲引擎MyISAM和InnoDB

mysql存儲引擎MyISAM和InnoDB

vpd root ddb 事務 創建 default 命令 src 引擎

MyISAM和InnoDB

MyISAM是mysql5.7版本以前使用的存儲引擎。
優點用於查詢頻率較高的場合中 ,例如網站商城的數據提拿等。
缺點是不支持事務,不適宜銀行,證券等。
基於表鎖定 讀取和寫入互阻塞


InnoDB是mysql5.7版本使用的存儲引擎。
優點支持事務
缺點是對於數據提拿速度沒有MyISAM那麽快
行鎖定 記錄 讀取和寫入互阻塞


mysql> show engines; //查看mysql默認存儲引擎

技術分享圖片

mysql> show create table list; //查看已創建表list的存儲引擎

技術分享圖片

mysql> alter table list engine=MyISAM; //修改已存在表的存儲引擎為MyISAM

技術分享圖片

vim /etc/my.cnf
在mysqld模塊下,添加該行
default-storage-engine=MyISAM
重啟mysql
此後創建的表都是以MylSAM為默認存儲引擎

技術分享圖片

技術分享圖片

批量更改表
yum install perl-DBI -y
yum install perl-DBD-MySQL -y
要先安裝兩個包
vim /usr/local/mysql/bin/mysql_convert_table_format //修改該命令的配置文件
"e|engine|type=s" => $opt_engine //32行修改
mysql_convert_table_format --host=localhost --user=root --password=123123 --socket=/home/mysql/mysql.sock --engine=InnoDB school list; //使用該命令批量修改

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

再次改為MyISAM
mysql_convert_table_format --user=root --password=123123 --socket=//home/mysql/mysql.sock --engine=MyISAM school list

技術分享圖片

註:
批量修改 root --password=自己設置的mysql密碼
--socket=編譯時指定的路徑/mysql.scok
--engine=MyISAM 庫 表...

mysql存儲引擎MyISAM和InnoDB