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

相关推荐
rising start4 小时前
二、全面理解MySQL架构
mysql·架构
星星也在雾里4 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
bqq198610265 小时前
MySQL性能优化
mysql·mysql优化
雨辰AI6 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城20246 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有6 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql
Mr. zhihao7 小时前
深入解析redis基本数据结构
数据结构·数据库·redis
m0_748839497 小时前
利用天正暖通CAD快速掌握风管数量统计的方法
数据库
随身数智备忘录7 小时前
什么是设备管理体系?设备管理体系包含哪些核心模块?
网络·数据库·人工智能
海市公约8 小时前
MySQL更新语句执行全流程:从Buffer Pool修改到二阶段提交
数据库·mysql·binlog·innodb·undo log·二阶段提交·update执行原理