mysql管理语句

1.查询执行中的语句

SELECT * FROM information_schema.processlist WHERE state LIKE '' and info like '';

state是语句的执行状态,比如metadata lock是等待获取元数据锁,info是执行的语句

  1. 查询正在操作某个表的连接,并且批量生成kill语句

SELECT

CONCAT('KILL ', t.PROCESSLIST_ID

, ';') AS kill_command

FROM performance_schema.metadata_locks AS ml

JOIN performance_schema.threads AS t

ON ml.OWNER_THREAD_ID = t.THREAD_ID

WHERE ml.OBJECT_SCHEMA = ''

AND ml.OBJECT_NAME = ''

ORDER BY ml.LOCK_STATUS DESC;

OBJECT_SCHEMA是数据库名称,OBJECT_NAME是表名称。

  1. kill某个连接

kill processlistId

processlistId是第二步查询出来的连接ID

  1. 更改自增主键的值

ALTER TABLE table_name AUTO_INCREMENT = %d;

  1. 重命名表
    RENAME TABLE old_table TO new_table;

重命名表是非常快速的操作,对于千万行级别表,也只需要两分钟左右的时间。

  1. 执行数据迁移的顺序

a. 建立和源表结构一致的新表,但是先不建立索引(为了快速实现数据迁移)

b. 进行数据迁移 insert into new_table(column_names) select column_names from old_table where conditions;

c. 建立索引

对于百万行数据,步骤b大约需要15分钟,步骤c单个索引,大概需要两分钟。

相关推荐
March.s15 分钟前
Redis 核心知识与高可用架构实践
数据库·redis·架构
数据库小学妹9 小时前
国产数据库怎么选?兼容、迁移、核心案例与融合架构四道关
数据库·架构·国产数据库·数据库迁移·融合数据库
IvorySQL10 小时前
PostgreSQL 日报| PgBouncer 修复三个 CVE 漏洞(10 月 15 日)
数据库·postgresql·区块链
饺子大魔王的男人10 小时前
后台表格、查询、流程总在重复写?我用ToolJet把PostgreSQL直接做成可远程访问的业务系统
数据库·postgresql
Gauss松鼠会10 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
杨云龙UP11 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
AOI小白新手上路11 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
凯歌的博客12 小时前
DuckDB 是一款进程内的分析型数据库
数据库·ai编程
dishugj12 小时前
Oracle物理体系结构
数据库·oracle