当前位置:   article > 正文

docker的mysql容器exited(1)无法正常启动_failed to access directory for --secure-file-priv.

failed to access directory for --secure-file-priv. please make sure that dir

  问题:

使用docker 安装MySQL,容器正常启动,使用docker ps 命令查看,没有正在运行的容器,使用docker ps -a 查看所有,mysql 执行状态为exited(1),网上查了有很多种说法,都未能解决。

MySQL版本

创建实例并启动的命令如下:

  1. docker run -p 3307:3306 --name mysql8 \
  2. -v /mydata/mysql/log:/var/log/mysql \
  3. -v /mydata/mysql/data:/var/lib/mysql \
  4. -v /mydata/mysql/conf:/etc/mysql \
  5. -e MYSQL_ROOT_PASSWORD=root \
  6. -d mysql:8.0.24

解决方法:

正常启动后,使用docker ps -a 查看执行状态

docker 容器正常启动后,是可以查看到启动日志的,使用docker logs 需要查看服务的id,如下:

Failed to access directory for --secure-file-priv. Please make sure that dir,这个问题网上有说是文件夹错误或权限问题,设置后并没有解决问题,后来查找发现可能是少创建my.conf文件,故在文件夹中添加配置文件:

  1. my.conf 配置
  2. 创建my.cnf配置文件
  3. touch /mydata/mysql/conf/my.cnf
  4. my.cnf添加如下内容:
  5. [mysqld]
  6. user=mysql
  7. character-set-server=utf8
  8. default_authentication_plugin=mysql_native_password
  9. secure_file_priv=/var/lib/mysql
  10. expire_logs_days=7
  11. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
  12. max_connections=1000
  13. [client]
  14. default-character-set=utf8
  15. [mysql]
  16. default-character-set=utf8

重新创建实例并启动,使用docker ps 查看,状态为运行状态:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/511602
推荐阅读
相关标签
  

闽ICP备14008679号