docker 安装mysql 报错( mysqld failed while attempting to check config\n","stream":"stderr"......)
一 报错日志:
{"log":"2023-11-24 06:49:13+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.2.0-1.el8 started.\n","stream":"stdout","time":"2023-11-24T06:49:13.540485458Z"}
{"log":"2023-11-24 06:49:13+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config\n","stream":"stderr","time":"2023-11-24T06:49:13.554068261Z"}
{"log":"\u0009command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.ZgP2FJl5KR\n","stream":"stderr","time":"2023-11-24T06:49:13.554101156Z"}
{"log":"\u0009mysqld: Can't read dir of '/etc/mysql/conf.d/' (OS errno 2 - No such file or directory)\n","stream":"stderr","time":"2023-11-24T06:49:13.554104857Z"}
{"log":"mysqld: [ERROR] Stopped processing the 'includedir' directive in file /etc/my.cnf at line 36.\n","stream":"stderr","time":"2023-11-24T06:49:13.554107851Z"}
{"log":"mysqld: [ERROR] Fatal error in defaults handling. Program aborted!\n","stream":"stderr","time":"2023-11-24T06:49:13.554110813Z"}
二 解决步骤
图示解析
1.通过命令查询日志文件地址
docker inspect --format '{{.LogPath}}' 容器ID
2.通过cat命令 读取日志文件
cat 日志地址
通过日志内容,可以看出主要是不能读取'/etc/mysql/conf.d/目录
修改之前的容器启动命令
-v /mydata/mysql/conf:/etc/mysql 修改为-v /mydata/mysql/conf:/etc/mysql/conf.d
docker run --name mysql -d -p 3306:3306
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456 mysql
重新执行命令就可以启动成功了。