密码输入为何不可见?

要在命令行中使用MySQL数据库,需掌握基础连接、SQL操作及管理工具,以下是详细步骤(以Linux/macOS为例,Windows需将终端命令替换为CMD/PowerShell):


准备工作

  1. 安装MySQL

    • Ubuntu/Debian:
      sudo apt update && sudo apt install mysql-server
    • CentOS/RHEL:
      sudo yum install mysql-server
    • macOS (推荐Homebrew):
      brew install mysql
  2. 启动MySQL服务

    sudo systemctl start mysql  # Linux
    brew services start mysql   # macOS
  3. 设置root密码
    首次安装后运行安全配置向导:

    sudo mysql_secure_installation

连接MySQL服务器

方式1:本地连接(无密码)

sudo mysql -u root  # Linux默认免密

方式2:带密码连接

mysql -u 用户名 -p```
#### 方式3:指定主机和端口
```bash
mysql -h 主机地址 -P 端口号 -u 用户名 -p
# 示例:mysql -h 127.0.0.1 -P 3306 -u root -p

注意:避免在命令中直接写密码(如 -p密码),以免泄露。


基础数据库操作

查看所有数据库

SHOW DATABASES;

创建/删除数据库

CREATE DATABASE 数据库名;  -- 创建
DROP DATABASE 数据库名;    -- 删除

选择数据库

USE 数据库名;

查看当前数据库的表

SHOW TABLES;

执行SQL查询

SELECT * FROM 表名;       -- 查询数据
DESCRIBE 表名;           -- 查看表结构

退出MySQL命令行

EXIT; 或 \q

导入/导出数据

导入SQL文件(恢复备份)

mysql -u 用户名 -p 数据库名 < 文件路径.sql

导出整个数据库(备份)

mysqldump -u 用户名 -p 数据库名 > 备份文件.sql

导出单张表

mysqldump -u 用户名 -p 数据库名 表名 > 表备份.sql

用户权限管理

创建用户并授权

CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'localhost';
FLUSH PRIVILEGES;  -- 刷新权限

查看用户权限

SHOW GRANTS FOR '用户名'@'localhost';

常见问题解决

  1. 连接被拒绝

    • 检查MySQL服务状态:sudo systemctl status mysql
    • 确认防火墙开放3306端口。
  2. 忘记root密码

    sudo systemctl stop mysql          # 停止服务
    sudo mysqld_safe --skip-grant-tables &  # 跳过权限验证
    mysql -u root

    在MySQL中重置密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
  3. 命令未找到(mysql/mysqldump)
    将MySQL添加到系统路径:

    echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bashrc
    source ~/.bashrc

安全建议

  1. 避免使用root账户日常操作,创建专用用户。
  2. 定期备份关键数据:
    mysqldump -u root -p --all-databases > full_backup.sql
  3. 生产环境禁用远程root登录。

命令行操作MySQL是数据库管理的核心技能,适合快速执行任务、自动化脚本及服务器维护,熟练掌握后,可结合Python/Shell脚本实现高效运维,建议通过官方文档深化学习:

引用说明

  • MySQL 8.0官方手册:https://dev.mysql.com/doc/refman/8.0/en/
  • mysqldump备份工具指南:https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
  • 权限管理参考:https://dev.mysql.com/doc/refman/8.0/en/privilege-system.html

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

(0)
酷番叔酷番叔
上一篇 2025年6月24日 23:52
下一篇 2025年6月25日 00:18

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信