我尝试使用 docker compose 启动 mysql 容器,但收到错误未知变量“default-authentication-plugin=mysql_native_password”。
我的 docker-compose.yml 中有这个
db:
image: mysql:8.4
command: ["mysqld", "--default-authentication-plugin=mysql_native_password"]
restart: unless-stopped
ports:
- 3306:3306
environment:
MYSQL_RANDOM_ROOT_PASSWORD: yes
MYSQL_AUTHENTICATION_PLUGIN: mysql_native_password
MYSQL_DATABASE: ${MYSQL_DATABASE:-learn}
MYSQL_USER: ${MYSQL_USER:-learn}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-test2024}
volumes:
- mysql_dev:/var/lib/mysql
- ./docker/laravel/config/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
healthcheck:
test: [ "CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', '$$MYSQl_USER', '-p$$MYSQL_PASSWORD' ]
timeout: 20s
retries: 2
在 my.cnf 文件中我有这个:
[mysqld]
mysql_native_password=ON
default-authentication-plugin=mysql_native_password
general_log = 0
general_log_file = /var/lib/mysql/general.log
default_time_zone='+00:00'
我到处搜索,但没有找到解决我问题的方法。如果有人有解决方案请。
提前致谢
我尝试更改 mysql 的映像版本,但没有成功。如果我将版本降级到 5.7 并更改卷名称,则可以正常工作。但我想升级mysql版本。