当前位置:首页 > 主机动态 > 正文

MySQL命令行如何快速掌握操作技巧

启动 MySQL命令行工具后,输入用户名和密码登录,执行SQL命令需以分号结束,输入exit或quit退出。

MySQL 命令行使用指南

MySQL 命令行工具简介

MySQL 命令行客户端(mysql)是官方提供的数据库管理工具,通过纯文本界面执行 SQL 命令、管理数据及配置,相比图形化工具,它具有轻量高效、无需图形环境支持的优势,尤其适合服务器运维和自动化脚本场景。


连接 MySQL 服务器

基础连接命令

mysql -u [用户名] -p[密码] -h [主机地址] -P [端口]

  • 参数说明
    • -u:指定用户名(如 -u root)
    • -p:提示输入密码(密码紧贴-p会暴露在历史记录中,建议单独输入
    • -h:服务器 IP(默认 localhost)
    • -P:端口号(默认 3306)

安全连接示例

mysql -u root -p # 回车后手动输入密码

连接远程服务器

mysql -u admin -p -h 192.168.1.100 -P 3306


基础操作命令

数据库操作

命令 说明
SHOW DATABASES; 查看所有数据库
CREATE DATABASE testdb; 创建新数据库
USE testdb; 切换到指定数据库
DROP DATABASE testdb; 删除数据库

数据表操作

-- 显示当前数据库的表 SHOW TABLES; -- 创建表 CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) ); -- 查看表结构 DESCRIBE users;

数据增删改查(CRUD)

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


高级功能

导入/导出数据

导出整个数据库

mysqldump -u root -p testdb > backup.sql

导入 SQL 文件

MySQL命令行如何快速掌握操作技巧 第1张

或通过终端:

mysql -u root -p testdb < backup.sql

用户与权限管理

-- 创建用户 CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; -- 授予权限(示例:赋予 testdb 的所有权限) GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost'; -- 刷新权限 FLUSH PRIVILEGES;


实用技巧

  1. 查看服务器状态

    STATUS; -- 显示版本、连接ID、当前数据库等

  2. 执行系统命令

    MySQL命令行如何快速掌握操作技巧 第2张

  3. 批处理模式

    mysql -u root -p -e "SHOW DATABASES;" # 直接执行单条命令
  4. 输出格式化

    SELECT * FROM usersG -- 垂直显示结果(适合宽表)
  5. 安全注意事项

    1. 密码安全

      • 避免使用 -p[密码] 形式(密码会暴露在终端历史)
      • 使用 mysql_config_editor 存储加密凭证: mysql_config_editor set --login-path=local --user=root --password
    2. 最小权限原则

      • 日常操作避免使用 root 账户
      • 按需分配用户权限(如只读、特定表权限)
      • 常见问题解决

        1. 连接失败

          • 检查服务状态:systemctl status mysql
          • 验证端口监听:netstat -tuln | grep 3306
          • 确认用户远程访问权限('user'@'%')
        2. 忘记密码

          # 步骤1:停用MySQL认证 mysqld_safe --skip-grant-tables & # 步骤2:重置密码 mysql -u root UPDATE mysql.user SET authentication_string=PASSWORD('new_pass') WHERE User='root'; FLUSH PRIVILEGES;


        退出命令行

        EXIT; -- 或 q


        引用说明

        • 基于 MySQL 8.0 官方文档(dev.mysql.com/doc)整理
        • 安全建议参考 OWASP 数据库安全指南(owasp.org
        • 命令兼容 MySQL 5.7 及以上版本

        MySQL命令行如何快速掌握操作技巧 第3张

0