跳到主要内容

修改 MySQL 默认密码

提示
  • 下列步骤以 root 密码为 tC9S86SFWxga 示例,实际配置中务必对 root 密码修改

    • 为确保兼容性,自定义密码时避免使用 "$"、"&"、"!" 或 "@" 等特殊字符,这些字符可能会干扰正则表达式解析,请改用连字符 "-" 或下划线 "_"
  • 操作前建议提前数据备份

    进入 hap-sc 容器,登陆 MySQL

    docker exec -it $(docker ps | grep hap-sc | awk '{print $1}') bash -c 'mysql -uroot -p123456 -h127.0.0.1'
  1. 修改 MySQL 密码

    GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'tC9S86SFWxga';
  2. 修改 docker-compose.yaml 文件,添加环境变量与端口映射

    docker-compose.yaml 文件默认路径:/data/hap/script/docker-compose.yaml

    在 app 服务下新增环境变量 ENV_MYSQL_PASSWORD 指定 MySQL 新密码

    ENV_MYSQL_PASSWORD: "tC9S86SFWxga"

    在 sc 服务下新增端口映射,将容器内的 3306 端口映射出 (如果外部不需要访问 MySQL 则无需添加此端口映射)

    - 3306:3306
    docker-compose.yaml 配置文件示例
    version: '3'

    services:
    app:
    image: nocoly/hap-community:5.8.3
    environment:
    ENV_ADDRESS_MAIN: "https://hap.domain.com"
    ENV_APP_VERSION: "5.8.3"
    ENV_API_TOKEN: "******"
    ENV_MYSQL_PASSWORD: "tC9S86SFWxga" # 新增变量,注意修改为实际的密码
    ports:
    - 8880:8880
    volumes:
    - ../data:/data/hap/data

    sc:
    image: nocoly/hap-sc:3.0.0
    environment:
    <<: *app-environment
    ports:
    - 3306:3306 # 新增 mysql 端口映射,如果外部不需要访问 mysql,则无需添加此端口映射
    volumes:
    - ./volume/data/:/data/
  3. 在安装管理器所在目录下重启微服务生效配置

    bash service.sh restartall