本文将系统梳理MySQL日常开发与运维中的核心命令,涵盖数据库连接、表操作、数据管理、权限控制等关键场景,协助您快速提升数据库操作效率。
一、数据库连接管理
1.1 客户端连接命令
# 基础本地连接
mysql -u root -p
# 远程数据库连接
mysql -h 192.168.1.100 -P 3306 -u admin -p
# 快速执行单条查询
mysql -u root -p -e "SHOW DATABASES;"
1.2 连接参数详解
|
参数 |
说明 |
使用场景 |
|
-u |
用户名 |
指定登录账户 |
|
-p |
密码验证 |
安全交互式输入 |
|
-h |
主机地址 |
连接远程服务器 |
|
-P |
端口指定 |
非默认端口连接 |
|
-D |
数据库选择 |
直接进入目标库 |
二、数据库操作命令
2.1 数据库查看与选择
-- 列出所有数据库
SHOW DATABASES;
-- 使用特定数据库
USE my_database;
-- 查看当前数据库
SELECT DATABASE();
2.2 数据库创建与删除
-- 创建数据库(推荐完整语法)
CREATE DATABASE IF NOT EXISTS my_app
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
-- 安全删除数据库
DROP DATABASE IF EXISTS old_database;
三、数据表管理
3.1 表结构操作
-- 查看当前数据库所有表
SHOW TABLES;
-- 查看表结构信息
DESCRIBE users;
DESC products; -- 简写形式
-- 查看建表语句
SHOW CREATE TABLE users;
3.2 表创建与修改
-- 创建数据表明例
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_username (username)
);
-- 添加新列
ALTER TABLE users ADD COLUMN phone VARCHAR(20);
-- 修改列定义
ALTER TABLE users MODIFY COLUMN email VARCHAR(150);
四、数据操作命令(CRUD)
4.1 数据查询与过滤
-- 基础查询
SELECT * FROM products WHERE price > 100;
-- 排序和分页
SELECT * FROM orders
ORDER BY order_date DESC
LIMIT 10 OFFSET 20;
-- 数据统计
SELECT category, COUNT(*) as count
FROM products
GROUP BY category
HAVING count > 5;
4.2 数据增删改操作
-- 插入单条数据
INSERT INTO users (username, email)
VALUES ('john_doe', 'john@example.com');
-- 批量插入数据
INSERT INTO products (name, price) VALUES
('Laptop', 999.99),
('Phone', 599.99),
('Tablet', 299.99);
-- 更新数据(必须带WHERE条件)
UPDATE users SET email = 'new@example.com' WHERE id = 1;
-- 删除数据(谨慎使用)
DELETE FROM logs WHERE created_at < '2023-01-01';
五、用户权限管理
5.1 用户创建与授权
-- 创建本地用户
CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'password123';
-- 创建远程访问用户
CREATE USER 'app_user'@'%' IDENTIFIED BY 'securePass!';
-- 授予数据库权限
GRANT SELECT, INSERT, UPDATE ON shop_db.* TO 'dev_user'@'localhost';
-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'%';
5.2 权限回收与删除
-- 撤销特定权限
REVOKE DELETE ON shop_db.* FROM 'dev_user'@'localhost';
-- 删除用户
DROP USER 'old_user'@'localhost';
六、数据备份与恢复
6.1 使用mysqldump备份
# 备份整个数据库
mysqldump -u root -p my_database > backup_$(date +%Y%m%d).sql
# 只备份表结构
mysqldump -u root -p --no-data my_database > schema.sql
# 备份特定表
mysqldump -u root -p my_database users orders > tables_backup.sql
6.2 数据恢复操作
# 恢复整个数据库
mysql -u root -p my_database < backup.sql
# 从备份中恢复特定表
mysql -u root -p my_database < tables_backup.sql
七、系统监控与维护
7.1 进程监控与管理
-- 查看当前连接进程
SHOW FULL PROCESSLIST;
-- 终止特定查询
KILL 1234;
-- 查看系统状态
SHOW STATUS LIKE 'Threads_connected';
7.2 性能相关命令
-- 查看表索引信息
SHOW INDEX FROM users;
-- 分析查询执行计划
EXPLAIN SELECT * FROM users WHERE username = 'john';
-- 优化表结构
OPTIMIZE TABLE large_table;
八、最佳实践与安全提议
8.1 安全操作规范
- 生产环境操作:始终在操作前备份数据
- DELETE/UPDATE操作:必须使用WHERE条件限定范围
- 权限分配原则:遵循最小权限原则
- 密码安全:使用强密码并定期更换
8.2 效率提升技巧
- 使用索引优化查询性能
- 合理设计表结构避免数据冗余
- 定期进行数据库维护和优化
- 监控慢查询日志并针对性优化
通过掌握这些核心命令,您将能够高效地进行MySQL数据库的日常开发、运维和故障排查工作,显著提升工作效率和系统稳定性。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
您必须登录才能参与评论!
立即登录



收藏了,感谢分享
有帮助的话,麻烦关注下,谢谢