MySQL作为主流的关系型数据库,其命令行工具提供了丰富的操作指令,覆盖从基础连接到高级管理的各类场景,熟练掌握这些命令能大幅提升数据库操作效率。

基础连接与数据库管理命令
连接MySQL服务是最基础的操作,使用mysql命令即可完成本地或远程连接:
# 连接本地MySQL,用户名为root,端口默认3306 mysql -u root -p # 连接远程MySQL,指定IP和端口 mysql -h 192.168.0.1 -P 3306 -u root -p
连接成功后,常用的数据库管理命令如下:
- 查看所有数据库:
SHOW DATABASES; - 切换当前数据库:
USE 数据库名; - 创建新数据库:
CREATE DATABASE test_db CHARACTER SET utf8mb4; - 删除数据库:
DROP DATABASE test_db; - 查看当前数据库的所有表:
SHOW TABLES;
表结构与数据操作命令
表结构相关命令
查看表结构的两种方式:
-- 查看表的基本结构信息 DESCRIBE user_table; -- 查看表的完整创建语句 SHOW CREATE TABLE user_table;
创建表的常用命令示例:
CREATE TABLE user_info (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
age INT DEFAULT 0,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
数据增删改查命令
基础的数据操作命令覆盖日常大部分业务场景:
-- 插入数据
INSERT INTO user_info (username, age) VALUES ('张三', 25), ('李四', 28);
-- 查询数据,带条件过滤
SELECT id, username, age FROM user_info WHERE age > 20 ORDER BY create_time DESC LIMIT 10;
-- 更新数据
UPDATE user_info SET age = 26 WHERE username = '张三';
-- 删除数据,注意加条件避免全表删除
DELETE FROM user_info WHERE id = 10;
数据备份与恢复命令
使用mysqldump命令可以完成数据库备份,是生产环境常用的备份方式:
# 备份单个数据库到sql文件 mysqldump -u root -p test_db > /backup/test_db_20240101.sql # 备份所有数据库 mysqldump -u root -p --all-databases > /backup/all_db.sql
数据恢复命令如下,需要在未连接MySQL的状态下执行:
# 恢复指定数据库的备份 mysql -u root -p test_db < /backup/test_db_20240101.sql
用户与权限管理命令
MySQL的用户权限管理通过专门的命令实现,避免直接使用root账号操作生产库:
-- 创建新用户,允许本地连接 CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'password123'; -- 授予用户对test_db数据库的所有操作权限 GRANT ALL PRIVILEGES ON test_db.* TO 'app_user'@'localhost'; -- 刷新权限使配置生效 FLUSH PRIVILEGES; -- 查看用户权限 SHOW GRANTS FOR 'app_user'@'localhost'; -- 撤销用户权限 REVOKE DELETE ON test_db.* FROM 'app_user'@'localhost'; -- 删除用户 DROP USER 'app_user'@'localhost';
性能排查常用命令
当数据库出现性能问题时,可以使用以下命令快速排查:
- 查看当前所有连接进程:
SHOW PROCESSLIST; - 查看慢查询日志状态:
SHOW VARIABLES LIKE 'slow_query%'; - 查看表的状态信息:
SHOW TABLE STATUS LIKE 'user_info'; - 分析查询语句的执行计划:
EXPLAIN SELECT * FROM user_info WHERE age > 20;