Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OSX Docker/WordPress/MySQL--连接错误:(1130)主机“xxx.xxx.xxx.xxx”不允许连接到此服务器_Mysql_Wordpress_Macos_Docker_Mariadb - Fatal编程技术网

OSX Docker/WordPress/MySQL--连接错误:(1130)主机“xxx.xxx.xxx.xxx”不允许连接到此服务器

OSX Docker/WordPress/MySQL--连接错误:(1130)主机“xxx.xxx.xxx.xxx”不允许连接到此服务器,mysql,wordpress,macos,docker,mariadb,Mysql,Wordpress,Macos,Docker,Mariadb,这个问题与其他类似的问题不同,因为它涉及到在OSX上的Docker容器中运行,该容器之前已经正常运行了一周,现在失败了 按照此处的说明进行操作: 我能够在本地安装WordPress并快速运行,这非常棒 今天,当我启动它时,有一个连接拒绝问题,如果我能从以下错误消息中找出两件事,那么解决这个问题似乎非常简单: MySQL Connection Error: (1130) Host '172.19.0.3' is not allowed to connect to this MariaDB serv

这个问题与其他类似的问题不同,因为它涉及到在OSX上的Docker容器中运行,该容器之前已经正常运行了一周,现在失败了

按照此处的说明进行操作:

我能够在本地安装WordPress并快速运行,这非常棒

今天,当我启动它时,有一个连接拒绝问题,如果我能从以下错误消息中找出两件事,那么解决这个问题似乎非常简单:

MySQL Connection Error: (1130) Host '172.19.0.3' is not allowed to connect to this MariaDB server
Warning: mysqli::mysqli(): (HY000/1130): Host '172.19.0.3' is not allowed to connect to this MariaDB server in - on line 22
我需要弄清楚的两件事是:

第22行在哪个文件中?这是一个配置文件吗?文件名是什么? 在这样的Mac/Docker部署中,此文件的路径是什么? docker容器目录仅包含WordPress安装目录。该目录中似乎没有任何与MySQL/MariaDB相关的内容。我已经阅读了很多关于MySQL的Mac部署以及配置文件的存放位置的文档,但是在Docker容器中,这是一个不同的问题。我找到的文档不适用


我已经研究过SSH’ing到Docker容器中我是Docker的婴儿,但我甚至不知道这是否是您所做的事情。

您的问题可能是MySQL容器在WordPress容器之前启动。尝试将depends_on标记添加到docker-compose.yml文件中,然后删除links标记。您还希望将restart:always添加到两个容器中

  my-wp:
    image: wordpress
    volumes:
      - ./:/var/www/html
    depends_on:
      - my-wpdb
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_PASSWORD: ChangeMeIfYouWant
您可以通过运行以下命令查看错误日志:

docker logs -f CONTAINERNAME >/dev/null
如果要打开容器内的外壳,可以运行:

docker exec -ti CONTAINERNAME /bin/bash 

@miken32的可能重复之处在于,问题不涉及Docker容器。我在那里读了答案,但没有一个能让我找到这些文件,甚至不能真正理解这个问题。谢谢@THN!添加dependens_on并没有解决问题,但是感谢您描述如何启动shell。一旦我有了一个shell,我就能够找到MySQL my.cnf文件,并且我找到了一个部分,其中提到默认设置是只在localhost上侦听。有一个注释掉的行绑定地址=127.0.0.1,显然vi在容器中不可用,因此我无法编辑该文件。我倾向于将绑定地址设置为0.0.0.0,但这并不能解释为什么这个设置已经运行了一周并突然停止。知道如何编辑该文件吗?我在容器中安装了vim,编辑了该文件,并尝试绑定地址0.0.0.0和127.0.0.1。设置为127.0.0.1会因连接拒绝而意外失败。。。这很有道理。设置为0.0.0.0允许连接尝试,但不允许连接IP这一事实意味着出于安全原因,仍有某些部分拒绝允许连接。仍在分析…能否粘贴整个docker-compose.yml文件?我不认为这是MySQL配置的问题。我没有阅读你发布的全部教程文章,但我怀疑那里有过时的东西。您应该尝试使用WordPress的官方Docker文档在此处设置WordPress: