mysqllisted
Install: claude install-skill ryukyagamilight/terminal-skills
# MySQL 数据库管理
## 概述
MySQL/MariaDB 数据库的日常管理、备份恢复、性能调优等运维技能。
## 连接管理
```bash
# 本地连接
mysql -u root -p
# 远程连接
mysql -h hostname -P 3306 -u user -p database
# 执行 SQL 文件
mysql -u user -p database < script.sql
# 执行单条命令
mysql -u user -p -e "SHOW DATABASES;"
```
## 用户与权限
```sql
-- 查看用户
SELECT user, host FROM mysql.user;
-- 创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
-- 授权
GRANT ALL PRIVILEGES ON database.* TO 'username'@'%';
GRANT SELECT, INSERT ON database.table TO 'username'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
-- 查看权限
SHOW GRANTS FOR 'username'@'%';
```
## 数据库操作
```sql
-- 数据库管理
SHOW DATABASES;
CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
DROP DATABASE dbname;
USE dbname;
-- 表管理
SHOW TABLES;
DESCRIBE tablename;
SHOW CREATE TABLE tablename;
```
## 备份与恢复
### mysqldump 备份
```bash
# 备份单个数据库
mysqldump -u root -p database > backup.sql
# 备份所有数据库
mysqldump -u root -p --all-databases > all_backup.sql
# 备份表结构
mysqldump -u root -p --no-data database > schema.sql
# 压缩备份
mysqldump -u root -p database | gzip > backup.sql.gz
```
### 恢复
```bash
# 恢复数据库
mysql -u root -p database < backup.sql
# 从压缩文件恢复
gunzip < backup.sql.gz | mysql -u root -p database
```
## 性能监控
```sql
-- 查看进程
SHOW PROCESSLIST;
SHOW FULL PROCESSLIST;
-- 查看状态
SHOW STATUS;
SHOW GLOBAL STATUS LIKE 'Threads%';
SHOW GLOBAL STATUS LIKE 'Connections';
-- 查看变量
SHOW VARIABLES LIKE 'max_connections';
SHOW VARIABLES LIKE '%buffer%';
-- 慢查询
SHOW VARIABLES LIKE 'slow_query%';
SHOW G