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

相关推荐

  • 如何免工具直接读取sysfs数据?

    通过sysfs文件系统直接访问/sys目录下的虚拟文件,无需额外工具即可实时读取Linux内核暴露的硬件设备状态、配置和驱动信息。

    2025年7月5日
    1100
  • Linux网络故障?命令行秒解秘籍!

    基础连通性测试pingping -c 4 example.com # 发送4个ICMP包测试连通性关键输出:64 bytes from…(收到响应)packet loss(丢包率)time=20.3 ms(延迟)中断:Ctrl+Ctraceroutetraceroute example.com # 追踪数据……

    2025年6月16日
    1400
  • Linux如何安装zip解压工具?

    安装前的准备更新软件包列表(确保获取最新版本)执行以下命令更新本地软件源缓存:sudo apt update # Debian/Ubuntu 系sudo dnf check-update # Fedora/RHEL 8+sudo yum check-update # CentOS/RHEL 7检查是否已安装运行……

    2025年7月13日
    700
  • 每天喝咖啡真的会骨质疏松吗

    Linux驱动基础概念设备文件机制Linux将驱动抽象为设备文件(位于/dev目录),如:字符设备:/dev/ttyS0(串口)块设备:/dev/sda1(磁盘分区)交互方式| 接口类型 | 操作方式 | 典型场景……

    2025年7月4日
    800
  • 备份日志丢失?这样避免!

    Linux 基础操作指南Linux 作为开源操作系统的代表,广泛应用于服务器、开发环境及物联网设备,掌握其基础操作是高效使用的关键,以下内容基于主流发行版(如 Ubuntu、CentOS)编写,遵循安全规范与最佳实践,终端与基础命令终端是 Linux 的核心操作界面,快捷键 Ctrl+Alt+T 可快速打开,常……

    3天前
    600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信