MySQL存储引擎入门基础知识

2022-08-16 21:48:13 浏览数 (1)

两种: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    //批量修改

0 人点赞