当前位置:首页 > 数据库 > 正文

如何在命令行使用MySQL?

在命令行使用MySQL数据库,需先启动MySQL服务,通过 mysql -u 用户名 -p登录,输入密码后进入交互环境,随后可执行SQL命令管理数据库,如 SHOW DATABASES;CREATE DATABASE 库名;USE 库名;SELECT * FROM 表名;等操作,退出时输入 exitquit

环境准备

  1. 安装MySQL

    • Windows:下载官方安装包运行,勾选”Add to PATH”
    • Linux/macOS:终端执行
      sudo apt install mysql-server  # Ubuntu/Debian
      brew install mysql             # macOS
  2. 启动服务

    如何在命令行使用MySQL?  第1张

    sudo systemctl start mysql  # Linux
    mysql.server start          # macOS
    # Windows在服务面板启动MySQL服务
  3. 安全初始化(首次安装)

    sudo mysql_secure_installation

    按提示设置root密码、删除测试数据库等。


连接MySQL服务器

mysql -u 用户名 -p -h 主机地址 -P 端口
  • 示例
    mysql -u root -p      # 本地默认连接(端口3306)
    mysql -u admin -p -h 192.168.1.100 -P 3307  # 远程连接

    -p 会提示输入密码(密码输入时不可见)


核心操作命令

数据库管理

命令 作用
CREATE DATABASE dbname; 创建数据库
SHOW DATABASES; 查看所有数据库
USE dbname; 切换数据库
DROP DATABASE dbname; 删除数据库

数据表操作

-- 创建表
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(100) UNIQUE
);
-- 查看表结构
DESCRIBE users;
-- 删除表
DROP TABLE users;

数据增删改查(CRUD)

-- 插入数据
INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com');
-- 查询数据
SELECT * FROM users;                          -- 查询所有
SELECT name FROM users WHERE id = 1;          -- 条件查询
-- 更新数据
UPDATE users SET email = 'new@example.com' WHERE id = 1;
-- 删除数据
DELETE FROM users WHERE id = 1;

用户权限管理

-- 创建用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
-- 授权
GRANT SELECT, INSERT ON dbname.* TO 'newuser'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
-- 查看权限
SHOW GRANTS FOR 'newuser'@'localhost';

高级操作

导入/导出数据库

# 导出整个数据库(终端执行)
mysqldump -u 用户名 -p 数据库名 > backup.sql
# 导入数据
mysql -u 用户名 -p 数据库名 < backup.sql

批处理执行SQL文件

mysql -u root -p < script.sql

查看运行状态

SHOW STATUS;      -- 服务器状态
SHOW PROCESSLIST; -- 当前连接进程

安全注意事项

  1. 避免root远程登录:生产环境禁用root@%账户
  2. 最小权限原则:应用账户只授予必要权限
  3. 密码安全
    ALTER USER 'user'@'host' IDENTIFIED BY '新密码'; -- 定期更新
  4. 退出命令行:执行 EXIT;q

故障排查

  • 连接失败:检查服务状态、防火墙、用户主机权限(表示允许远程)
  • 命令错误:确认SQL以结束,关键词拼写正确
  • 权限拒绝:用SHOW GRANTS验证账户权限

引用说明:本文操作基于MySQL 8.0官方文档,参考来源:

  • MySQL 8.0 Reference Manual
  • 数据库安全规范OWASP Cheat Sheet Series
  • 运维最佳实践《High Performance MySQL》

通过命令行操作MySQL是数据库管理的核心技能,建议结合官方文档反复练习,遇到问题可使用HELP 命令关键词;获取内置帮助(如 HELP SELECT;)。

0