Linux如何快速进入MySQL?

前提条件

  1. 安装MySQL服务
    若未安装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的两种常用方式

方式1:使用root用户本地登录

  1. 无密码登录(初始安装后)

    sudo mysql  # 直接进入MySQL命令行

    说明:部分系统(如Ubuntu)在安装时未设置root密码,需通过sudo权限进入。

  2. 密码登录(已设置密码)

    mysql -u root -p  # 回车后输入密码
    • -u:指定用户名(如root)。
    • -p:提示输入密码(密码输入时不可见)。

方式2:远程登录MySQL(需配置权限)

  1. 允许远程访问
    在MySQL命令行中执行:

    CREATE USER '用户名'@'远程IP' IDENTIFIED BY '密码';
    GRANT ALL PRIVILEGES ON *.* TO '用户名'@'远程IP' WITH GRANT OPTION;
    FLUSH PRIVILEGES;  -- 刷新权限

    远程IP替换为客户端IP(或允许所有IP)。

  2. 从另一台Linux机器登录

    mysql -h 服务器IP -u 用户名 -p
    • -h:指定MySQL服务器IP地址。

常见问题解决

问题1:忘记root密码

  1. 停止MySQL服务:
    sudo systemctl stop mysql
  2. 启动免密模式:
    sudo mysqld_safe --skip-grant-tables &
  3. 进入MySQL并重置密码:
    mysql -u root  # 无密码登录
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    EXIT;
  4. 重启MySQL:
    sudo systemctl restart mysql

问题2:连接被拒绝(ERROR 1045)

  • 检查用户名/密码是否正确。
  • 确认用户是否有本地/远程登录权限(参考方式2的权限配置)。
  • 检查防火墙是否放行3306端口:
    sudo ufw allow 3306/tcp  # Ubuntu
    sudo firewall-cmd --add-port=3306/tcp --permanent  # CentOS

安全建议

  1. 避免使用root账户
    日常操作建议创建普通用户:

    CREATE USER 'workuser'@'localhost' IDENTIFIED BY '强密码';
    GRANT SELECT, INSERT ON 数据库名.* TO 'workuser'@'localhost';
  2. 隐藏命令行密码
    使用-p后不直接输入密码,防止密码泄露在历史记录中。
  3. 定期更新密码
    使用强密码(字母+数字+符号),并定期更换。

  • 本地登录:sudo mysql(无密码)或 mysql -u root -p(有密码)。
  • 远程登录:需配置用户权限后使用 mysql -h IP -u 用户 -p
  • 安全优先:最小化权限分配,避免敏感操作。

引用说明:本文参考MySQL 8.0官方文档的权限管理及Linux系统管理最佳实践,操作前请备份数据,生产环境建议结合具体需求调整权限策略。

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

(0)
酷番叔酷番叔
上一篇 2025年6月27日 21:52
下一篇 2025年6月27日 22:05

相关推荐

  • Linux新用户如何登录系统?

    在Linux系统中,新用户登录的前提是系统已存在对应的用户账户,且该账户具备有效的登录凭证(用户名和密码),整个过程涉及用户创建、密码设置、登录方式选择及权限配置等环节,以下是详细步骤和说明,创建新用户账户在Linux中,创建新用户主要通过useradd或adduser命令实现,两者的区别在于:useradd是……

    2025年9月27日
    16800
  • Linux下如何修改文件的修改时间?具体操作步骤有哪些?

    在Linux系统中,文件的时间戳是记录文件状态的重要属性,主要包括三个:修改时间(mtime,Modify Time)、访问时间(atime,Access Time)和状态改变时间(ctime,Change Time),修改时间(mtime)指的是文件内容最后一次被修改的时间,这是用户最常关注的时间戳,例如在备……

    2025年9月28日
    15100
  • 为什么登录后操作更轻松高效?

    前期准备购买阿里云服务器进入阿里云官网,选择 ECS云服务器,推荐配置:系统:Alibaba Cloud Linux 3(兼容CentOS,优化版更稳定)最低配置:1核2GB(个人博客/小型网站足够)带宽:按需选择(初期1Mbps可满足)连接服务器使用SSH工具(如PuTTY或Xshell): ssh root……

    2025年6月28日
    20300
  • Linux如何保存分区表?操作步骤与命令有哪些?

    在Linux系统中,分区表是磁盘管理的基础,记录了磁盘分区的布局、类型、起始和结束位置等信息,由于误操作、磁盘故障或系统异常可能导致分区表损坏,进而引发数据丢失风险,因此定期保存分区表至关重要,本文将详细介绍Linux中保存分区表的方法,涵盖不同分区表类型(MBR和GPT)及常用工具的使用,分区表类型与备份必要……

    2025年9月24日
    18600
  • 如何获取所有活动终端

    在Linux系统中,向所有已登录用户发送消息是系统管理员进行维护通知、紧急警报或批量操作的常见需求,以下是几种可靠且高效的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等),注意:这些方法仅对当前已登录且有活动终端的用户生效,未登录用户无法接收消息,方法1:使用 wall 命令……

    2025年7月6日
    18000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信