美文网首页
存储引擎操作类命令

存储引擎操作类命令

作者: 蔺蔺蔺赫赫 | 来源:发表于2019-07-24 17:19 被阅读0次

存储引擎操作类命令

5.1 使用 SELECT 确认会话存储引擎

SELECT @@default_storage_engine;

mysql> show variables like '%engine%';

默认存储引擎设置(不代表生产操作)

会话级别:

set default_storage_engine=myisam;

全局级别(仅影响新会话):

set global default_storage_engine=myisam;

重启之后,所有参数均失效.

如果要永久生效:

写入配置文件

vim /etc/my.cnf

[mysqld]

default_storage_engine=myisam

存储引擎是表级别的,每个表创建时可以指定不同的存储引擎,但是我们建议统一为innodb.

扩展:

在线修改MySQL参数:

会话级别,例如:

set default_storage_engine=myisam;

功能:只会影响到当前会话

全局级别,例如:

set global default_storage_engine=myisam;

功能: 不影响当前和历史会话,只影响到新开的会话

以上两种方法,在重启之后会失效,除非参数添加至my.cnf

5.3 SHOW 确认每个表的存储引擎:

SHOW CREATE TABLE City\G;

SHOW TABLE STATUS LIKE 'CountryLanguage'\G

5.4 INFORMATION_SCHEMA 确认每个表的存储引擎

[world]>select table_schema,table_name ,engine from information_schema.tables where table_schema not in ('sys','mysql','information_schema','performance_schema');

Master [world]>show table status;

Master [world]>show create table city;

5.5 修改一个表的存储引擎

db01 [oldboy]>alter table t1 engine innodb;

注意:此命令我们经常使用他,进行innodb表的碎片整理

生产需求:

将oldboy数据库下的所有1000表,存储引擎从MyISAM替换为innodb

select concat("alter table ",table_name," engine innodb;")

from information_schema.tables

where table_schema='oldboy'

into outfile '/tmp/alter.sql';

5.6 平常处理过的MySQL问题--碎片处理

环境:centos7.4,MySQL 5.7.20,InnoDB存储引擎

业务特点:数据量级较大,经常需要按月删除历史数据.

问题:磁盘空间占用很大,不释放

处理方法:

以前:将数据逻辑导出,手工drop表,然后导入进去

现在:

对表进行按月进行分表(partition,中间件)

业务替换为truncate方式

定期执行:

alter table t1 engine='innodb';

5.6 扩展:如何批量修改存储引擎

需求:将zabbix库中的所有表,innodb替换为tokudb

select concat("alter table zabbix.",table_name," engine tokudb;") from

information_schema.tables where table_schema='zabbix' into outfile '/tmp/tokudb.sql';

相关文章

  • 存储引擎操作类命令

    存储引擎操作类命令 5.1 使用 SELECT 确认会话存储引擎 SELECT @@default_storage...

  • 45-MySQL-存储引擎

    1、查看存储引擎命令 2、查看默认的存储引擎命令 3、修改默认的存储引擎 如果在创建表的语句中没有显式指定表的存储...

  • MySQL数据库中存储引擎和数据类型

    一.什么是存储引擎 二.操作存储引擎 查看存储引擎 1.查看mysql支持的存储引擎 2.看你的mysql当前默认...

  • MySQL 常见存储引擎的区别

    MySQL 常见的存储引擎,可以使用 命令,来列出所有的存储引擎 EngineSupportCommentTran...

  • 存储引擎

    存储引擎即:表的存储方式 show create table emp:查看建表时的语句 查看存储引擎,命令: sh...

  • MySQL高级第一篇(MySQL存储引擎介绍)

    查看MySQL存储引擎①. 使用 show engines 命令进行查看查看所有引擎.png②. 使用命令show...

  • k8s常用命令汇总

    1.查看类命令 2.操作类命令 3.进阶命令操作

  • MySQL存储引擎介绍

    数据库中都会有存储引擎的概念,MySQL的特点就是其存储引擎支持插件式的,存储引擎用来处理数据库相关的CRUD操作...

  • mysql学习笔记(五)

    存储引擎 查看数据表的创建命令 MySql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。每一...

  • MySQL --- 存储引擎

    存储引擎是MySQL的组件,用于处理不同表类型的SQL操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等...

网友评论

      本文标题:存储引擎操作类命令

      本文链接:https://www.haomeiwen.com/subject/anyslctx.html