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

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

MySQL 命令行使用指南

MySQL 命令行工具简介

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

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


连接 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 文件

SOURCE /path/to/backup.sql;  -- MySQL 命令行内执行

或通过终端:

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. 查看服务器状态

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

    STATUS;  -- 显示版本、连接ID、当前数据库等
  2. 执行系统命令

    SYSTEM ls /tmp;  -- 在 MySQL 命令行中执行操作系统命令
  3. 批处理模式

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

    SELECT * FROM usersG  -- 垂直显示结果(适合宽表)

安全注意事项

  1. 密码安全

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

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

    • 日常操作避免使用 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 及以上版本

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/27582.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月17日 04:36
下一篇 2025年5月29日 06:16

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN