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

embedded/2025/3/18 6:08:19/

文章目录

      • 一、MySQL 密码设置
        • 1. **首次设置密码(适用于安装后未设置密码的情况)**
        • 2. **修改已有密码**
      • 二、设置 MySQL 开机自启动
        • 1. **Linux 系统(systemd)**
        • 2. **Windows 系统**
      • 三、常见问题


以下是针对 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)如需远程访问。

http://www.ppmy.cn/embedded/173508.html

相关文章

自动驾驶中基于潜在世界模型学习多概率决策(LatentDriver)

Learning Multiple Probabilistic Decisions from Latent World Model in Autonomous Driving 问题 图a是将模型与规划器结合,但是这样对不确定性的考虑不全面,尤其是在涉及到自车与环境交互时的动作 图b是将世界模型的知识隐式地转移到规划器中&#…

正则表达式(复习)

文章目录 一、[]: 一个字符集合二、{}: 重复次数三、特殊符号四、(): 分组五、python代码示例六、注意 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个…

Visual Studio里的“公共语言运行时支持”各选项的作用是什么,分别适用于哪些场景?

文章目录 1. 无公共语言运行时支持(No CLR Support)2. 公共语言运行时支持(/clr)3. 纯MSIL公共语言运行时支持(/clr:pure,已弃用)4. 安全MSIL公共语言运行时支持(/clr:safe&#xff…

有线网络和WiFi无线网络的优先级设置

有线网络和WiFi无线网络的优先级设置 在日常使用电脑的过程中,许多用户可能会遇到有线网络和WiFi无线网络同时连接的情况。在这种情况下,系统通常会自动选择优先使用某一个网络连接,但有时我们希望调整网络优先级,以便根据自己的…

前缀和算法

前缀和算法 是一种通过预处理数组,快速计算任意区间和的技巧。它能在 O(1) 时间复杂度内回答区间和的查询,适用于需要频繁计算子数组/子区间和的问题。以下是其核心应用场景、实现方法及经典例题: 一、适用场景 频繁查询区间和 多次计算数组…

2000-2023年各地级市二氧化碳排放量数据/地级市CO2排放量

2000-2023年各地级市二氧化碳排放量数据/地级市CO2排放量 1、时间:2000-2023年 2、来源:EDGAR_2024_GHG of October 2024 3、指标:年份、省份、城市、城市代码、所属地域、CO2排放总量_吨 4、范围:300个地级市 5、指标解释&a…

【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧

朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。 面试题目 class A中一个长度为60的随机数组rand int arr[60],如何写约束使得: 1.每个元素的值都在(0,100]之间,且互不相等; 2.最少有三个元素满足勾股数要求,比如数组中包含3,4,5三个点; 请以解约束最快…

嵌入式八股RTOS与Linux---前言篇

前言 Linux与RTOS是校招八股的时候很喜欢考察的知识,在这里并没有把两个操作系统完全的独立开去讲,放在一起对比或许可能加深印象。我们讲Linux的内核有五部分组成:进程调度、内存管理、文件系统、网络接口、进程间通信,所以我也将从这五方面出发 中断管理去对比和RTOS的不同。…