MySQL存储引擎

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL存储引擎相关的知识,希望对你有一定的参考价值。

两种:MyISAM:

???????????? MyISAM是默认的存储引擎。 每个MyISAM在磁盘上存储成三个文件,每一个文件的名字均以表的名字开始,扩展名指出文件类型。

??????????? .frm文件存储表定义;

?????????? ·MYD (MYData)文件存储表的数据;

??????????? .MYI (MYIndex)文件存储表的索引。

????????????? InnoDB(mysql5.7支持的版本):

?????????? 事务型数据库的首选引擎,支持ACID事务,支持行级锁定。InnoDB是为处理巨大数据量时的最大性能设计。InnoDB存储引擎完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和 索 引而维持它自己的缓冲池。InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。InnoDB默认地被包含在MySQL二进制分发中。Windows Essentials installer使InnoDB成为Windows上MySQL的默认表。

查看表使用的存储引擎类型的方法:

?? 1.show? table?? status? from? 库名? where? name? =? ‘表名’

?? 2.use? 数据库;

?????? show?? create?? table?? 表名;

修改表使用的存储引擎类型的方法:

?? 1.alter?? table?? table_name?? engine =引擎

?? 2.vim?? /etc/my.cnf

???? 在【mysqld】下添加 default- storage-engine=MyISAM

??? 然后重启服务,创建新表即生效

?? 3.create? table? 表名(属性 类型) engine = 引擎

?? 4.mysql_convert_table_format命令

批量修改数据库表的存储引擎类型

1.在centos7下搭建mysql5.5

tar zxvf mysql-5.5.24.tar.gz? -C? /opt/

确认安装 gcc 、 gcc-c++ 、make、cmake
ncurses-devel、
bison、
libaio-devel的软件包

---------------添加mysql用户并加入到mysql组----------------
useradd? -s /sbin/nologin mysql
mkdir /usr/local/mysql

cd /opt/mysql-5.5.24.tar.gz

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql??????
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock???????????
-DDEFAULT_CHARSET=utf8????????????????????????????
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all?????????????????????????
-DWITH_MYISAM_STORAGE_ENGINE=1?????????????????????
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1?????????????????????????????????
-DENABLED_LOCAL_INFILE=1???????????????????????????
-DMYSQL_DATADIR=/home/mysql????????????????????????
-DMYSQL_USER=mysql???????????????????????????????????
-DMYSQL_TCP_PORT=3306?????????????????????????????????

make?? &??? make install??

chown -R mysql.mysql /usr/local/mysql????????

export PATH=$PATH:/usr/local/mysql/bin/?? *开机时刷新*?????????

或者可选择vi /etc/profile 在最后一行加入后 运行source /etc/profile

cp support-files/my-medium.cnf /etc/my.cnf?????????????????

cp support-files/mysql.server /etc/init.d/mysqld?????????????

chmod 755 /etc/init.d/mysqld????????????????????????????
chkconfig --add /etc/init.d/mysqld?????????????????????
chkconfig mysqld --level 35 on??????????????????????????

--------------初始化数据库------------------------------------------------

/usr/local/mysql/scripts/mysql_install_db
--user=mysql
--ldata=/var/lib/mysql
--basedir=/usr/local/mysql
--datadir=/home/mysql

ln? -s? /var/lib/mysql/mysql.sock?? /home/mysql/mysql.sock?????????? /*直接建立软连接*/

vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql

systemctl? start?? mysqld.service

mysqladmin? –u? root? password? ‘abc123‘???? //设置root密码

2.进入MySQL

技术分享图片

技术分享图片
技术分享图片

技术分享图片??????

安装 perl-DBI? 和perl-DBD-MySQL :

???? yum? install? perl-DBI? -y

???? yum? install? perl-DBD-MySQL?? -y???

?????? mysql_convert_table_format? --host=localhost? --user=root? --password=abc123?? --socket=/tmp/mysql.sock?? --engine=MyISAM school bank banks??? //批量修改

????? 技术分享图片

????? 技术分享图片

以上是关于MySQL存储引擎的主要内容,如果未能解决你的问题,请参考以下文章

MySQL支持的存储引擎

mysql存储引擎

Mysql存储引擎Myisam小结

Mysql存储引擎之myisam

mysql存储引擎

MySQL(十六)—— 存储引擎