看起来数据库连接错误了,你改数据库是修改了什么地方?
修改了端口为43306,还修改了config目录里my.cnf的内存设置。
你修改的地方,能截图看看吗?以及msctl status截图看看mysql的状态。
看起来参数修改的问题:/opt/metersphere/.env文件里面的53306端口改回3306,然后将/opt/metersphere/docker-compose-mysql.yml里面的3306:3306 修改为53306:3306,保存后执行msctl reload
我试一试。谢谢。
完整安装和配置如下:(出错)
1、重新下载官方 MeterSphere v2.10.6-LTS 离线包,上传到服务器,解压到 /data/metersphere
2、修改 install.conf 文件,修改所有端口(每个端口数字前插入数字 5)
完整如下:
基础配置
安装路径, MeterSphere 配置及数据文件默认将安装在 ${MS_BASE}/metersphere 目录下
MS_BASE=/data/metersphere
MeterSphere 使用的 docker 网络网段信息
MS_DOCKER_SUBNET=172.30.10.0/24
镜像前缀, MeterSphere 相关组件使用的 Docker 镜像前缀, 例如 registry.cn-qingdao.aliyuncs.com/metersphere
MS_IMAGE_PREFIX=registry.cn-qingdao.aliyuncs.com/metersphere
镜像标签, MeterSphere 相关组件使用的 Docker 镜像标签
MS_IMAGE_TAG=v2.10.6-lts
性能测试使用的 JMeter 镜像
MS_JMETER_IMAGE=${MS_IMAGE_PREFIX}/jmeter-master:5.5-ms6-jdk17
安装模式 allinone | server | node-controller | selenium-hub | middleware | task-runner
MS_INSTALL_MODE=allinone
MeterSphere 主程序的 HTTP 服务监听端口
MS_SERVER_PORT=58081
MeterSphere Node-Controller 组件的 HTTP 服务监听端口
MS_NODE_CONTROLLER_PORT=58082
MS_NODE_EXPORTER_PORT=59100
数据库配置
是否使用外部数据库
MS_EXTERNAL_MYSQL=false
数据库地址
MS_MYSQL_HOST=$(hostname -I|cut -d" " -f 1)
数据库端口
MS_MYSQL_PORT=53306
数据库库名
MS_MYSQL_DB=metersphere
数据库用户名
MS_MYSQL_USER=root
数据库密码
MS_MYSQL_PASSWORD=MeterSphere2023
Prometheus 配置
是否使用外部Prometheus
MS_EXTERNAL_PROM=false
MS_PROMETHEUS_PORT=59090
Redis 配置
是否使用外部Redis
MS_EXTERNAL_REDIS=false
Redis 端口
MS_REDIS_PORT=56379
Redis 密码
MS_REDIS_PASSWORD=MeterSphere2023
Redis地址
MS_REDIS_HOST=$(hostname -I|cut -d" " -f 1)
Kafka 配置
是否使用外部 Kafka
MS_EXTERNAL_KAFKA=false
Kafka 地址
MS_KAFKA_HOST=$(hostname -I|cut -d" " -f 1)
Kafka 端口
MS_KAFKA_PORT=59092
性能测试结果数据使用的 Kafka Topic
MS_KAFKA_TOPIC=JMETER_METRICS
性能测试日志数据使用的 Kafka Topic
MS_KAFKA_LOG_TOPIC=JMETER_LOGS
性能测试定时任务通知使用的 Kafka Topic
MS_KAFKA_TEST_TOPIC=LOAD_TESTS
重构后性能测试结果数据使用的 Kafka Topic
MS_KAFKA_REPORT_TOPIC=JMETER_REPORTS
TCP MOCK 端口范围
MS_TCP_MOCK_PORT=10000-10010
UI容器配置
是否启动UI模块
MS_UI_ENABLED=false
是否使用外部grid
MS_EXTERNAL_SELENIUM=false
minio 配置
是否使用外部minio
MS_EXTERNAL_MINIO=false
minio 地址
MS_MINIO_ENDPOINT=http://minio:59000
minio access
MS_MINIO_ACCESS_KEY=admin
minio 密码
MS_MINIO_SECRET_KEY=MeterSphere2023
docker gid
MS_DOCKER_GID=$(getent group docker | cut -f3 -d:)
说明:因服务器端口 8082、9000、3306、9090 端口被其它服务占用,故将 MeterSphere 端口设置为5xxxx范围,方便管理。
3、修改 my.cnf 文件(默认配置的 max_allowed_packet 和 innodb_buffer_pool_size 参数实在太小)
完整如下:
[mysqld]
datadir=/var/lib/mysql
default-storage-engine=INNODB
character_set_server=utf8mb4
lower_case_table_names=1
performance_schema=off
table_open_cache=128
transaction_isolation=READ-COMMITTED
max_connections=1000
max_connect_errors=6000
max_allowed_packet=512M
innodb_file_per_table=1
innodb_buffer_pool_size=4096M
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800
server-id=1
log-bin=mysql-bin
expire_logs_days = 2
binlog_format=mixed
character-set-client-handshake = FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect=‘SET default_collation_for_utf8mb4=utf8mb4_general_ci’
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
skip-name-resolve
[mysql]
default-character-set=utf8mb4
[mysql.server]
default-character-set=utf8mb4
4、修改docker-compose-minio.yml :(端口固定为 9000:9000,非参数方式,所以必须手动修改,否则 minio 报错端口被占用)
完整如下:
version: ‘2.1’
services:
minio:
image: ${MS_IMAGE_PREFIX}/minio:RELEASE.2023-04-13T03-08-07Z
container_name: minio
hostname: “minio”
ports:
- ‘59000:9000’
- ‘59001:9001’
healthcheck:
test: [ “CMD”, “curl”, “-f”, “http://localhost:9001” ]
interval: 6s
timeout: 10s
retries: 50
environment:
MINIO_ACCESS_KEY: ${MS_MINIO_ACCESS_KEY}
MINIO_SECRET_KEY: ${MS_MINIO_SECRET_KEY}
volumes:
- ms-minio-data:/data
networks:
- ms-network
command: server --console-address ‘:9001’ /data
privileged: true
restart: always
mem_limit: ${MS_MINIO_MEM_LIMIT:-1073741824} # default 1g bytes
volumes:
ms-minio-data:
driver_opts:
type: none
device: ${MS_BASE}/metersphere/data/minio
o: bind
5、执行 install.sh,界面报错截图:
查看 system-setting 容器日志,错误开始出现的地方截图:
执行 msctl status 查看状态截图:
以上为安装的所有操作。求助各位大咖和有经验的同学,如何解决自定义端口安装的问题。谢谢。
默认密码是Password123@mysql。
如果要修改mysql密码,在配置文件里改是不生效的。
配置文件的密码只是一个连接配置,而不是真实修改了密码。
如果要修改mysql密码,需要登录mysql,然后手动修改密码,然后再改配置文件。
我在另外一台新建的私有云服务器上,安装的时候也修改了这个默认密码,成功安装,可以使用。
安装前修改 install.conf 文件中的默认密码,安装成功后,用修改的密码登录数据库,是可以登录数据库的。
因为首次安装时会根据这个密码初始化数据库,所以第一次改密码是可以的,首次之后再改是不行的。
你可以再验证下现在的数据库密码是多少,然后.env文件里使用目前能手动连接上的密码。
我看到你现在用的密码是MeterSphere2023,可以试试手动用这个密码能否登录数据库。
我在另外一台新建的私有云服务器上,安装前修改了这几个密码,不修改端口,可以成功安装,.env 文件里也是这个修改的密码,还可以用这个修改的密码手动备份Docker里的数据库。所以说修改的密码不是问题关键。
另外,我还测试把配置文件里每个的Docker容器内外端口、服务端口都批量修改了,但安装还是报system-setting问题。
折腾了不下10次了,算了,保留默认端口,只修改密码,不折腾了。
如果继续折腾,可以加下我,远程看看。
请问这个问题解决了吗,遇到了相同的问题。
还没解决,自定义端口方式不可行,默认端口不冲突的话,就可以安装成功。
你需要修改/opt/metersphere/.env文件,看报错是未连接数据库,检查下.env文件数据库连接信息是否正确
卸载重装,这个问题不能复现了。离线安装成功!
是自定义端口吗?方便分享一下怎么修改和配置的吗?
自定义端口安装后,.查看mysql容器状态是healthy,用.env文件中的mysql信息手动连接数据库是正常的。