MySQL命令行模式是数据库管理员和开发者经常使用的管理入口,通过它可以直接执行SQL语句、查看运行状态以及控制用户权限。相比图形化工具,命令行更轻量,也更适合在远程服务器上操作。
连接与基本操作
进入MySQL命令行模式通常使用mysql客户端。在终端输入以下命令即可连接本地服务:
# 使用用户名root连接本机MySQL mysql -u root -p # 连接后查看已有数据库 SHOW DATABASES; # 创建新数据库 CREATE DATABASE test_db CHARACTER SET utf8mb4; # 切换当前数据库 USE test_db;
数据表的创建与简单维护
在选定数据库之后,可以通过标准SQL建表并插入数据。下面给出一个简单示例:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100)
);
INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@ipipp.com');
SELECT * FROM users;
导入与导出数据
命令行模式下也常用mysqldump做备份,用重定向恢复数据:
# 导出test_db数据库到文件 mysqldump -u root -p test_db > test_db.sql # 从文件导入到test_db mysql -u root -p test_db < test_db.sql
用户与权限管理
MySQL的权限系统通过用户和主机组合来识别身份。我们可以用CREATE USER建立账号,再用GRANT分配权限。
# 创建只能从本机连接的用户 CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password'; # 授予test_db下所有表的查询和插入权限 GRANT SELECT, INSERT ON test_db.* TO 'app_user'@'localhost'; # 收回插入权限 REVOKE INSERT ON test_db.* FROM 'app_user'@'localhost'; # 查看用户权限 SHOW GRANTS FOR 'app_user'@'localhost';
注意事项
- 修改权限后,有时需要执行
FLUSH PRIVILEGES;让变更立即生效,不过GRANT和REVOKE通常会自动刷新。 - 在写SQL时,如果表名或字段名用了保留字,要用反引号包裹,例如
`order`。 - 生产环境尽量不要用root账号直接跑应用,按最小权限原则建专用账号。
小结
掌握MySQL命令行模式下的连接、库表操作以及用户权限管理,可以让你在不依赖外部工具的情况下完成绝大多数运维开发任务。多加练习这些基础命令,有助于提升处理数据库问题的效率。