作者:_A-lan | 来源:互联网 | 2023-01-31 16:11
我有一个Wordpress(php-fpm/nginx)服务器,非常新鲜.在CentOS上运行.我还有一个docker容器,由vanilla mysql-server映像构建.
MySQL配置
它在端口上运行3306
,并且所有MySQL用户都在MySQL中注册了主机172.17.0.1
(例如root@172.17.0.1
),这是docker的网关IP.docker容器使用ansible playbook安装.所有配置设置都是参数化的,并且这些参数在任何适当的地方使用,包括WordPress配置文件和填充MySQL docker安装期间root密码之类的环境变量.这是我配置相关数据库的地方:
WordPress配置:
这分为两部分,其中我将包括相关部分.在我的ansible playbook中,此代码设置了WordPress表和用户(成功):
- name: Create WordPress database
mysql_db:
name: '{{ wp_db_name }}'
state: present
login_user: root
login_password: '{{ mysql_root_password }}'
login_host: '{{ docker_mysql_ip }}'
- name: Create WordPress database user
mysql_user:
name: '{{ wp_db_user }}'
password: '{{ wp_db_password }}'
priv: '{{ wp_db_name }}.*:ALL'
state: present
login_user: root
host: '{{ docker_gateway_ip }}'
login_password: '{{ mysql_root_password }}'
login_host: '{{ docker_mysql_ip }}'
和相关的 wp-config.php:
define('DB_NAME', 'wordpress');
define('DB_USER', '{{ wp_db_user }}');
define('DB_PASSWORD', '{{ wp_db_password }}');
define('DB_HOST', '{{ docker_mysql_ip }}');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
当我导航到wp-admin时,所述的具体问题是" Warning: mysql_connect(): Permission denied in /srv/wordpress/wp-includes/wp-db.php on line 1473
",标题为"建立数据库连接时出错",状态码为500.
令人困惑的部分
当我检查wp-config.php文件时,用户名,密码和数据库名称都是完全一样的.当我将主机,用户和密码复制/粘贴wp-config.php
到命令行(例如mysql -u wordpress -p -h 172.17.0.2
)上的各自位置时,我可以连接,以及查看Wordpress数据库.
总结一下
MySQL能够在使用命令行时正确连接,但Wordpress无法连接.我对Wordpress或PHP也不是很熟悉,因此可以理解与问题相关的日志的任何想法.