在宝塔docker应用商店安装mysql遇到的问题:
[System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.4.3) initializing of server in progress as process 80
[ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
[ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
报错信息上面那些,大概原因是因为权限导致/var/lib/mysql目录没法初始化之类的。
解决办法:
修改/www/dk_project/dk_app/mysql/mysql_8../docker-compose.yml文件,增加权限privileged,和user权限即可。
services:
mysql_8.4.3:
image: mysql:${VERSION}
# container_name: ${CONTAINER_NAME}
deploy:
resources:
limits:
cpus: ${CPUS}
memory: ${MEMORY_LIMIT}
restart: always
#增加privileged,和user
privileged: true
user: root
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
ports:
- ${HOST_IP}:${MYSQL_PORT}:3306
volumes:
- /www/dk_project/dk_app/mysql/mysql_8.*.*/datas/:/var/lib/mysql
- ${APP_PATH}/my.cnf:/etc/my.cnf
- ${APP_PATH}/log:/var/log/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
labels:
createdBy: "bt_apps"
command: ${COMMAND}
networks:
- baota_net
networks:
baota_net:
external: true
修改过后删除/www/dk_project/dk_app/mysql/mysql_8../路径下的data和log目录
重新启动容器后你会发现mysql正常初始化了。