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单个索引,大概需要两分钟。

相关推荐
ULIi096kr16 小时前
MySQL解决Too many connections报错:连接数爆满排查、优化与永久解决方案
数据库·mysql·adb
SL-staff16 小时前
(一)数据源配置 —— JVS-Rules规则引擎 V2.5 操作说明介绍
数据库·jar·规则引擎·数据源·jvs-rules·api 接口·jvs低代码
李白的天不白16 小时前
服务器上数据库的创建
mysql
ha_lydms16 小时前
AnalyticDB基本概念
mysql·adb·analyticdb
摇滚侠17 小时前
Spring 零基础入门到进阶 基于 XML 管理 Bean 14-28
xml·数据库·spring
Fanta丶17 小时前
23.MySql group by优化、limit优化、 count优化、update优化
mysql
医疗信息化王工17 小时前
医院自律端系统——预警处置模块全栈实战(ASP.NET Core + Vue3 + Quartz 定时调度)
mysql·postgresql·vue·asp.net core·quartz
Metaphor69217 小时前
使用 Python 给 PDF 设置背景色或背景图
数据库·python·pdf
Gauss松鼠会17 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
睡不醒男孩03082317 小时前
第五篇:2026年企业级 PostgreSQL 高可用方案深度横评:Patroni vs. CLup 架构与可靠性全面对决
数据库·postgresql·架构