MySQL 密码设置与开机自启动详解


以下是针对 Linux(如 Ubuntu/CentOS)和 Windows 系统的详细操作步骤:


一、MySQL 密码设置

1. 首次设置密码(适用于安装后未设置密码的情况)
  • Linux 系统:

    1. 获取临时密码(MySQL 5.7+):
      sudo grep 'temporary password' /var/log/mysqld.log  # CentOS/RHEL
      sudo grep 'temporary password' /var/log/mysql/error.log  # Ubuntu/Debian
      
    2. 使用临时密码登录并修改:
      mysql -u root -p  # 输入临时密码
      
      ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
      FLUSH PRIVILEGES;
      
    3. 若无临时密码(或旧版本):
      sudo systemctl stop mysqld
      sudo mysqld_safe --skip-grant-tables &
      mysql -u root
      
      UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
      FLUSH PRIVILEGES;
      exit;
      
      sudo systemctl restart mysqld
      
  • Windows 系统:

    1. 停止 MySQL 服务(通过服务管理器或 net stop mysql)。
    2. 启动 MySQL 无权限模式:
      mysqld --skip-grant-tables
      
    3. 新窗口登录并修改密码:
      mysql -u root
      
      UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
      FLUSH PRIVILEGES;
      exit;
      
    4. 重启 MySQL 服务。
2. 修改已有密码
mysql -u root -p旧密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
-- 或
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');

注意: 密码需符合复杂度要求(如包含大小写字母、数字、特殊字符)。


二、设置 MySQL 开机自启动

1. Linux 系统(systemd)
  • 启用服务:
    sudo systemctl enable mysqld   # CentOS/RHEL
    sudo systemctl enable mysql    # Ubuntu/Debian
    
  • 验证是否成功:
    sudo systemctl is-enabled mysqld  # 应返回 "enabled"
    
2. Windows 系统
  • 方法 1:服务管理器

    1. Win + R,输入 services.msc
    2. 找到 MySQL 服务,右键选择 属性
    3. 设置 启动类型自动,点击 确定
  • 方法 2:命令行

    sc config mysql start=auto
    

三、常见问题

  1. 忘记 root 密码怎么办?

    • 使用 --skip-grant-tables 模式重置(参考上文步骤)。
  2. 修改密码报错 ERROR 1819

    • 原因:密码不符合策略(长度、复杂度)。
    • 临时降低策略:
      SET GLOBAL validate_password_policy=LOW;
      SET GLOBAL validate_password_length=4;
      
  3. 服务名不匹配(如 mysqld vs mysql)?

    • 检查服务名:
      systemctl list-unit-files | grep mysql
      

提示:

  • 生产环境建议使用强密码并定期更换。
  • 确保防火墙开放 MySQL 端口(默认 3306)如需远程访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值