Linux命令行登录MySQL教程

前提条件

  1. MySQL已安装
    若未安装,执行以下命令:

    # Ubuntu/Debian
    sudo apt update && sudo apt install mysql-server
    # CentOS/RHEL
    sudo yum install mysql-server
    sudo systemctl start mysqld
  2. 确保MySQL服务运行

    sudo systemctl status mysql  # 检查状态
    sudo systemctl start mysql   # 若未运行则启动

进入MySQL的3种常用方式

使用root用户登录(推荐)

   sudo mysql -u root -p
  • -u root:指定用户名(root可替换为其他账户)。
  • -p:提示输入密码(输入时密码不可见)。
  • 注意:在Ubuntu系统中,安装后默认通过sudo mysql可直接免密登录root账户(安全策略差异)。

指定主机和端口登录

   mysql -u 用户名 -p -h 主机地址 -P 端口
  • 示例(连接远程数据库):
    mysql -u admin -p -h 192.168.1.100 -P 3306
  • -h:数据库服务器IP(默认localhost)。
  • -P:端口号(默认3306)。

在命令中直接输入密码(不推荐,仅测试用)

   mysql -u root -p密码  # 注意:-p和密码间无空格

⚠️ 安全警告:密码会暴露在终端历史记录中,存在泄露风险!


常见问题解决

Q1:登录报错”Access denied”

  • 原因:密码错误或用户无权限。
  • 解决
    1. 重置root密码(需停止MySQL服务):
      sudo systemctl stop mysql
      sudo mysqld_safe --skip-grant-tables &
      mysql -u root
    2. 在MySQL中执行:
      FLUSH PRIVILEGES;
      ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
      EXIT;
    3. 重启MySQL:
      sudo systemctl restart mysql

Q2:命令未找到”mysql: command not found”

  • 原因:MySQL客户端未安装或路径未包含。
  • 解决
    # 安装MySQL客户端
    sudo apt install mysql-client   # Ubuntu/Debian
    sudo yum install mysql          # CentOS/RHEL

Q3:无法连接远程数据库

  • 步骤检查
    1. 确认远程MySQL允许外部访问(检查bind-address/etc/mysql/mysql.conf.d/mysqld.cnf中是否为0.0.0)。
    2. 用户需有远程权限:
      CREATE USER '用户'@'%' IDENTIFIED BY '密码';
      GRANT ALL PRIVILEGES ON *.* TO '用户'@'%';
      FLUSH PRIVILEGES;
    3. 防火墙放行端口:
      sudo ufw allow 3306/tcp  # Ubuntu
      sudo firewall-cmd --add-port=3306/tcp --permanent  # CentOS

安全建议

  1. 避免使用root账户:日常操作创建普通用户,最小权限分配。
  2. 密码保护
    • 不在命令行直接输入密码。
    • 定期更换密码(MySQL中执行):
      ALTER USER '用户'@'localhost' IDENTIFIED BY '新密码';
  3. 退出MySQL:执行EXIT;Ctrl+D

进入MySQL数据库的核心命令是mysql -u 用户名 -p,结合系统权限和服务状态管理即可完成操作,对于生产环境,务必遵循最小权限原则并定期备份数据,若需深入配置(如SSL加密、用户权限管理),请参考MySQL官方文档。

引用说明:本文操作基于MySQL 8.0及主流Linux发行版,参考MySQL官方手册MySQL 8.0 Reference Manual和Linux系统管理最佳实践,安全建议遵循OWASP密码策略指南。

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

(0)
酷番叔酷番叔
上一篇 2025年6月27日 16:07
下一篇 2025年6月27日 16:25

相关推荐

  • Linux如何复制文件夹?命令及操作步骤详解

    在Linux系统中,复制文件夹是日常操作中非常常见的需求,无论是备份文件、迁移数据还是整理目录结构,都需要掌握高效的文件夹复制方法,Linux提供了多种命令来实现文件夹复制,其中最常用的是cp命令和rsync命令,两者各有特点,适用于不同的场景,本文将详细介绍这两种命令的使用方法、常用选项及实际应用场景,帮助用……

    2025年9月22日
    8600
  • Linux系统下如何具体测试固态硬盘的性能与健康状态?

    在Linux系统中,测试固态硬盘(SSD)的健康状态、性能表现及稳定性,是保障系统稳定运行和数据安全的重要环节,通过专业工具可以全面评估SSD的剩余寿命、读写性能、是否存在坏块等问题,以下是详细的测试方法和步骤,健康状态检测:使用SMART工具SMART(Self-Monitoring, Analysis an……

    2025年8月27日
    12700
  • Linux串口安全设置疑难?嵌入式/工控必看!

    识别串口设备列出所有串口终端执行:dmesg | grep tty # 查看内核识别的串口设备ls /dev/tty* # 列出所有tty设备常见设备名:原生串口:/dev/ttyS0 (COM1), /dev/ttyS1 (COM2)USB转串口:/dev/ttyUSB0, /dev/ttyACM0确认设备权……

    2025年7月8日
    12200
  • Linux下如何使用GDB调试程序?

    在Linux系统中,GDB(GNU Debugger)是功能强大的调试工具,主要用于C/C++等程序的调试,支持断点设置、变量查看、内存分析、堆栈跟踪等功能,掌握GDB的使用能显著提升程序问题定位的效率,以下从安装、启动、基本操作到高级功能详细说明其使用方法,安装与启动GDB安装GDB不同Linux发行版的安装……

    2025年9月18日
    11400
  • Linux如何登录到系统界面?

    Linux系统登录界面是用户与系统交互的第一步,根据使用场景和配置不同,登录方式可分为命令行界面(CLI)登录和图形用户界面(GUI)登录,同时还包括远程登录(如SSH)和特殊模式登录(如单用户模式),以下从不同场景详细说明Linux登录界面的操作流程及相关注意事项,命令行界面(CLI)登录CLI是Linux系……

    2025年9月20日
    10700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信