偏 MySQL 的 SQL 速查表,适合排障与临时查询。
进程与连接
查看当前连接
SHOW FULL PROCESSLIST;
结束某个连接
KILL <process_id>;
Binlog
检查是否开启
SHOW VARIABLES LIKE 'log_bin';
表清单
查看所有表
SHOW TABLES;
模糊过滤
SHOW TABLES LIKE 'p%';
SHOW TABLES WHERE Tables_in_testdb LIKE '%es';
权限与用户
MySQL 8.x 建议先创建用户,再授权。
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
行锁(事务)
START TRANSACTION;
SELECT * FROM x_tab WHERE id = 2 FOR UPDATE;
UPDATE x_tab SET amount = amount + 5 WHERE id = 2;
COMMIT;
提示:FOR UPDATE 只锁住命中的行(InnoDB)。
重命名表
RENAME TABLE old_db.table TO new_db.table;
批量生成重命名 SQL
mysql -u username -ppassword old_db -sNe 'SHOW TABLES' | while read -r table; do
mysql -u username -ppassword -sNe "RENAME TABLE old_db.$table TO new_db.$table";
done
查询库信息
统计库内表数量
SELECT table_schema, COUNT(1)
FROM information_schema.tables
WHERE table_schema LIKE 'keyword%'
GROUP BY table_schema;
视图
CREATE VIEW your_view_tab AS
SELECT * FROM your_tab;