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.在CentOS 7下搭建MySQL 5.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 //批量修改