修改 MySQL 默认密码
提示
-
下列步骤以 root 密码为
tC9S86SFWxga
示例,实际配置中务必对 root 密码修改- 为确保兼容性,自定义密码时避免使用 "$"、"&"、"!" 或 "@" 等特殊字符,这些字符可能会干扰正则表达式解析,请改用连字符 "-" 或下划线 "_"
-
操作前建议提前数据备份
-
- 微服务版本>=5.1.0
- 微服务版本<5.1.0
进入 hap-sc 容器,登陆 MySQL
docker exec -it $(docker ps | grep hap-sc | awk '{print $1}') bash -c 'mysql -uroot -p123456 -h127.0.0.1'
进入 hap-community 容器,登陆 MySQL
docker exec -it $(docker ps | grep hap-community | awk '{print $1}') bash -c 'mysql -uroot -p123456 -h127.0.0.1'
-
修改 MySQL 密码
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'tC9S86SFWxga';
-
修改 docker-compose.yaml 文件,添加环境变量与端口映射
docker-compose.yaml 文件默认路径:/data/hap/script/docker-compose.yaml
- 微服务版本>=5.1.0
- 微服务版本<5.1.0
在 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/在 app 服务下新增环境变量
ENV_MYSQL_PASSWORD
指定 MySQL 新密码ENV_MYSQL_PASSWORD: "tC9S86SFWxga"
在 app 服务下新增端口映 射,将容器内的 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
- 3306:3306 # 新增 MySQL 端口映射,如果外部不需要访问 MySQL,则无需添加此端口映射
volumes:
- ./volume/data/:/data/
- ../data:/data/hap/data -
在安装管理器所在目录下重启微服务生效配置
bash service.sh restartall