Linux如何进入MySQL/MariaDB命令行?

前提条件

  1. 已安装MySQL服务
    通过包管理器安装(示例):

    # Ubuntu/Debian
    sudo apt update && sudo apt install mysql-server
    # CentOS/RHEL
    sudo yum install mysql-server
  2. 确保服务已启动

    sudo systemctl start mysql    # 启动服务
    sudo systemctl enable mysql   # 设置开机自启
  3. 拥有有效用户名和密码

    • 默认管理员账户:root(安装时可能已设置密码)。
    • 若忘记密码,需重置root密码。

进入MySQL命令行的3种方法

方法1:使用系统root账户直接登录(推荐)

sudo mysql -u root
  • 适用场景:Ubuntu/Debian系统默认配置(无需密码验证)。
  • 原理:利用sudo权限匹配系统用户与数据库用户(通过auth_socket插件认证)。
  • 成功标志:出现提示符 mysql>

方法2:通过密码验证登录

mysql -u 用户名 -p
  • 步骤
    1. 输入命令后按回车。
    2. 在提示 Enter password: 时输入密码(密码不可见)。
  • 示例
    mysql -u root -p       # 登录root账户
    mysql -u alice -p      # 登录普通用户alice

方法3:指定主机和端口(远程/特殊端口)

mysql -u 用户名 -p -h 主机IP -P 端口号
  • 示例
    mysql -u admin -p -h 192.168.1.100 -P 3306
  • 注意
    • 默认端口为3306,若修改过需指定-P参数。
    • 远程登录需确保:
      • MySQL配置允许远程连接(修改bind-address=0.0.0.0)。
      • 用户有远程访问权限(如GRANT ALL ON *.* TO 'user'@'%')。

常见问题解决

报错:Access denied for user 'root'@'localhost'

  • 原因:密码错误或权限不足。
  • 解决方案
    1. 尝试用sudo mysql -u root跳过密码。
    2. 重置密码:
      sudo mysql --skip-grant-tables &  # 启动无验证模式
      mysql -u root                     # 新终端登录
      FLUSH PRIVILEGES;
      ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

报错:Can't connect to local MySQL server

  • 原因:MySQL服务未运行。
  • 解决
    sudo systemctl status mysql  # 检查状态
    sudo systemctl restart mysql # 重启服务

报错:Command 'mysql' not found

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

安全建议

  1. 避免使用root远程登录
    创建专用账户并限制权限:

    CREATE USER 'user'@'%' IDENTIFIED BY '强密码';
    GRANT SELECT,INSERT ON 数据库.* TO 'user'@'%';
  2. 删除测试数据库
    DROP DATABASE test;
  3. 定期更新密码
    ALTER USER 'user'@'localhost' IDENTIFIED BY '新密码';

  • 本地快速登录:sudo mysql -u root
  • 密码验证登录:mysql -u 用户名 -p
  • 远程登录需指定IP和端口,并配置权限。
    掌握这些操作后,您可高效管理数据库,首次使用建议从本地登录开始,逐步尝试远程连接。

引用说明:本文方法基于MySQL 8.0官方文档的客户端连接指南及Linux权限管理实践,安全建议参考OWASP数据库安全规范。

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

(0)
酷番叔酷番叔
上一篇 2025年7月7日 12:03
下一篇 2025年7月7日 12:21

相关推荐

  • Linux下修改IP地址的具体步骤是什么?命令行与配置文件操作

    在Linux系统中修改IP地址是日常运维和开发中常见的操作,根据不同的Linux发行版(如CentOS、Ubuntu等)和网络管理工具(如NetworkManager、netplan等),操作方法略有差异,本文将详细介绍几种主流的IP地址修改方法,包括临时修改和永久修改,并说明注意事项及常见问题排查,使用传统命……

    2025年8月31日
    15100
  • 如何在Linux系统中安装VNC Server?

    在Linux系统中,VNC(Virtual Network Computing)Server是一种常用的远程图形化管理工具,允许用户通过网络远程访问Linux桌面环境,尤其适合无图形界面的服务器或需要可视化操作的场景,本文将以主流发行版Ubuntu/Debian和CentOS/RHEL为例,详细讲解VNC Se……

    2025年8月24日
    14700
  • Linux中如何查看文件后缀名?

    在Linux操作系统中,文件后缀名(或称为扩展名)与Windows系统有本质区别:Windows中后缀名常用于关联文件类型(如.txt关联记事本),而Linux更依赖文件内容、权限(如可执行文件+x权限)和MIME类型来判断文件类型,后缀名主要是为方便用户识别文件用途,并非系统强制要求,尽管如此,查看和处理文件……

    2025年9月22日
    10900
  • 如何查看/etc/os-release文件?

    在Linux系统中,”SP3″(Service Pack 3)这一概念通常与Windows系统相关,Linux本身并不使用”Service Pack”的版本机制,但根据技术背景推测,您可能想确认以下两种情况之一:SUSE Linux Enterprise Server (SLES) 的Service Pack版……

    2025年7月31日
    13900
  • linux如何退出top命令

    Linux系统中,top命令是常用的动态进程监控工具,能够实时显示系统中运行的进程信息,包括CPU占用率、内存使用、进程ID、优先级等参数,用户在使用top查看系统资源占用情况时,往往需要掌握正确的退出方法,以避免操作不当导致终端异常或进程残留,本文将详细介绍Linux退出top命令的多种方式、适用场景及注意事……

    2025年9月23日
    13200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信