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/RHEL、Ubuntu/Debian等)可能采用不同的配置方式和配置文件,但核心逻辑均为通过修改网络配置参数实现IP地址的设定,本文将详细说明主流Linux发行版中修改IP地址的具体方法,包括静态IP和动态IP(DH……

    2025年10月7日
    14000
  • Linux操作系统上搭建MySQL数据库环境的具体方法是什么?

    在Linux操作系统上搭建MySQL数据库环境是许多开发者和运维人员的必备技能,MySQL作为开源的关系型数据库管理系统,广泛应用于Web应用、数据存储等场景,本文将以主流的Linux发行版(如CentOS/RHEL和Ubuntu/Debian)为例,详细说明从环境准备到MySQL安装、配置、安全初始化及测试验……

    2025年9月27日
    13600
  • 如何在linux分包压缩

    Linux 中,可先创建分包(如用 tar 分割文件),再用 gzip 等工具压缩各分包,

    2025年8月9日
    14800
  • Linux系统如何升级JDK版本到最新稳定版?

    在Linux系统中升级JDK版本是开发环境中常见的操作,通常是为了使用新版本提供的特性、性能优化或安全补丁,本文将详细介绍Linux环境下升级JDK版本的完整流程,包括升级前的准备工作、旧版本卸载、新版本安装、环境变量配置及验证步骤,帮助用户顺利完成JDK版本升级,升级前的准备工作在开始升级JDK前,需要做好充……

    2025年9月21日
    16700
  • linux如何创建log文件

    Linux 中,可使用 touch logfilename.log 创建空的日志文件,也可用 `echo “内容” ˃ logfilename.

    2025年8月10日
    14700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信