📑 文章章节大纲 (点击平滑直达)
一、账户与权限管理
-- 修改指定用户的密码
SET PASSWORD FOR 'user'@'IP_addr' = PASSWORD('1234');
-- 刷新权限缓存
FLUSH PRIVILEGES;
二、服务器状态与变量查询
-- 查看支持的字符排序规则
SHOW COLLATION;
-- 查看前一条语句执行产生的 Warning 告警信息
SHOW WARNINGS;
-- 展示当前支持的存储引擎列表
SHOW ENGINES;
-- 查询指定前缀的系统变量
SHOW VARIABLES LIKE 'have%';
-- 查看数据库事务隔离级别
SELECT @@tx_isolation, @@global.tx_isolation;
-- 查询是否开启自动提交事务
SELECT @@autocommit;
-- 查询当前生效的 sql_mode
SELECT ROUTINE_SCHEMA, ROUTINE_NAME, SQL_MODE FROM INFORMATION_SCHEMA.ROUTINES;
SELECT EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE, TRIGGER_NAME, SQL_MODE FROM INFORMATION_SCHEMA.TRIGGERS;
三、表与架构信息查看
-- 查询指定数据库下所有表使用的存储引擎
USE information_schema;
SELECT table_name, engine
FROM information_schema.tables
WHERE table_schema = 'your_db_name';
四、数据定义(DDL)常用语法
-- 创建数据库
CREATE DATABASE database_name;
-- 创建数据表
CREATE TABLE table_name (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL
);
-- 添加新列
ALTER TABLE table_name ADD COLUMN age INT;
-- 删除数据表与数据库
DROP TABLE table_name;
DROP DATABASE database_name;
五、运维常用 CLI 技巧
# 设置环境变量临时更改连接的 Socket 与端口
export MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
export MYSQL_TCP_PORT=3307
# 持续监控数据库状态增量(每 10 秒刷新一次)
mysqladmin extended-status -uroot -r -i 10
# 使用 mysqldump 备份并启用 gzip 快速压缩
mysqldump -uroot -p --hex-blob db_name | gzip > db_name.sql.gz