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 库 表...