mysql - How to configure Wordpress Database for CentOS 7

admin2025-06-06  1

I'm trying move an existing Wordpress site to run across two different servers, one with Apache and the main source code and the other that just has the database running on MYSQL.

wp-config:

define('DB_NAME', 'wp-user');
define('DB_USER', 'wp-user');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'xxx.xxx.xxx.xxx:3306');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

I've already opened ports 3306 on both servers and created a new mysql user that comes from the Apache Server address.

CREATE USER 'wp-user'@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wp-db . * TO 'wp-user'@'xxx.xxx.xxx.xxx';
FLUSH PRIVILEGES;

both servers have the same version of MYSQL running.

I get the following error address:

Error establishing a database connection

EDIT:

myf:

# For advice on how to change settings please see
# .6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port = 3306
# skip-external-locking
# skip-networking
# bind-address

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

I'm trying move an existing Wordpress site to run across two different servers, one with Apache and the main source code and the other that just has the database running on MYSQL.

wp-config:

define('DB_NAME', 'wp-user');
define('DB_USER', 'wp-user');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'xxx.xxx.xxx.xxx:3306');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

I've already opened ports 3306 on both servers and created a new mysql user that comes from the Apache Server address.

CREATE USER 'wp-user'@'xxx.xxx.xxx.xxx' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wp-db . * TO 'wp-user'@'xxx.xxx.xxx.xxx';
FLUSH PRIVILEGES;

both servers have the same version of MYSQL running.

I get the following error address:

Error establishing a database connection

EDIT:

my.cnf:

# For advice on how to change settings please see
# http://dev.mysql/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port = 3306
# skip-external-locking
# skip-networking
# bind-address

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Share Improve this question edited Nov 26, 2018 at 15:48 blu asked Nov 26, 2018 at 15:14 blublu 1034 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 0

Try to disable temporarily SELinux on the web server, with the command:

sudo setenforce 0
If the error disappears after disabling SELinux, re-enable it with:
sudo setenforce 1
and then allow httpd to connect to a MySql server through the network with:
sudo setsebool -P httpd_can_network_connect_db 1
sudo setsebool -P httpd_can_network_connect 1
    

running the following allowed external MYSQL connections:

sudo iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749150869a316799.html

最新回复(0)