linux mysql常用命令(Linux MySQL命令)


Linux环境下的MySQL作为主流数据库管理系统,其命令行操作是运维和开发人员必须掌握的核心技能。通过命令行工具,用户可实现数据库的高效管理、数据操控及系统维护。MySQL命令体系以逻辑性强、功能模块化为特点,涵盖数据库创建、用户权限管理、数据导入导出等关键操作。熟练掌握这些命令不仅能提升工作效率,还能实现精细化权限控制、数据安全保障及自动化运维。本文将从八个维度深入解析Linux MySQL常用命令,结合实践场景揭示其底层逻辑与应用技巧。
一、数据库基础操作命令
数据库的创建与删除是MySQL管理的基础。CREATE DATABASE
用于新建数据库,需指定字符集(如utf8mb4
)以确保跨语言兼容性。DROP DATABASE
则彻底删除数据库,执行时需谨慎。SHOW DATABASES
可列出所有数据库,配合LIKE 'pattern'
实现模糊匹配。
命令 | 功能 | 典型参数 |
---|---|---|
CREATE DATABASE dbname | 创建空数据库 | DEFAULT CHARSET utf8mb4 |
DROP DATABASE dbname | 删除数据库 | IF EXISTS(安全删除) |
SHOW DATABASES | 查看所有数据库 | LIKE 'test%' |
二、用户与权限管理
MySQL采用分层权限模型,GRANT
命令赋予用户特定权限,REVOKE
用于回收权限。CREATE USER
需指定主机地址(如'%'
允许任意主机连接),建议强制设置复杂密码。SHOW GRANTS
可验证当前用户权限配置。
命令 | 功能 | 权限粒度 |
---|---|---|
GRANT SELECT ON db. TO 'user''host' | 授予表级读取权限 | 库.表级别 |
REVOKE ALL PRIVILEGES ON . FROM 'user''host' | 收回全部权限 | 全局级别 |
SET PASSWORD FOR 'user''host' = PASSWORD('newpass') | 修改用户密码 | 单用户级别 |
三、数据导入与导出
数据迁移是DBA高频操作,mysqldump
支持结构化导出。添加--routines
可保留存储过程,--triggers
导出触发器。导入时使用SOURCE
或LOAD DATA
,后者需关注字段分隔符(如t
)和行终止符(如)。
工具 | 导出选项 | 导入注意事项 |
---|---|---|
mysqldump | --no-create-info(仅数据) | 需提前创建空表结构 |
SELECT...INTO OUTFILE | FIELDS TERMINATED BY ',' | 文件需有写权限 |
LOAD DATA INFILE | LINES TERMINATED BY ' ' | 服务器需启用local_infile |
四、客户端连接管理
MySQL支持多客户端并发连接,SHOW PROCESSLIST
实时查看连接状态。KILL
可终止指定线程,MAX_CONNECTIONS
参数需根据业务峰值调整。建议启用skip-name-resolve
优化DNS解析性能。
五、日志管理与审计
二进制日志(binlog)记录数据变更,是主从复制和灾难恢复的核心。PURGE BINARY LOGS
需配合EXPIRE_LOGS_DAYS
参数清理过期日志。慢查询日志通过slow_query_log
开启,建议设置合理阈值(如long_query_time=2
)。
六、性能监控与优化
EXPLAIN
分析查询执行计划,重点关注type
字段(如ALL表示全表扫描)。ANALYZE TABLE
更新表统计信息,优化查询决策。OPTIMIZE TABLE
碎片整理对MyISAM引擎效果显著。
七、高级数据操作
分区表管理使用ALTER TABLE ... PARTITION
,支持RANGE/HASH等多种策略。PT-ONLINE-SCHEMA
实现无中断表结构变更。REPLACE INTO
特殊插入行为需注意主键冲突处理。
八、事务与锁机制
START TRANSACTION
开启显式事务,需配合COMMIT/ROLLBACK
。SHOW ENGINE INNODB STATUS
查看锁等待情况,FOREIGN_KEY_CHECKS
临时禁用外键约束可用于数据迁移。
MySQL命令体系通过模块化设计实现了从基础管理到高级运维的全场景覆盖。掌握核心命令的参数组合与场景适配,能够显著提升数据库操作效率。实践中需特别注意权限最小化原则、日志安全管理及事务一致性保障,这些细节往往决定系统的稳定运行。随着MySQL版本的迭代,部分命令参数可能发生变化,建议定期查阅官方文档更新知识体系。





