创建数据目录
mkdir -pv /data/wordpress/mysql/{data,conf,logs}
chown 999.999 /data/wordpress/mysql/ -R
mkdir -pv /data/wordpress/html
chown 33.33 /data/wordpress/html -R
Mysql配置文件
vim /data/wordpress/mysql/conf/my.cnf
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysql]
prompt="\u@mysqldb \R:\m:\s [\d]> "
no-auto-rehash
[mysqld]
user = mysql
port = 3306
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_connections = 1024
max_connect_errors = 100
wait_timeout = 100
max_allowed_packet = 128M
table_open_cache = 2048
back_log = 600
skip_name_resolve = 1
default-storage-engine = innodb
log_bin_trust_function_creators = 1
# Log
general_log=off
general_log_file = /data/mysql/logs/mysql.log
log-error = /data/mysql/logs/error.log
#slowlog慢查询日志
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow.log
long_query_time = 2
log_output = FILE
log_queries_not_using_indexes = 0
#global_buffers
innodb_buffer_pool_size = 2G
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2
key_buffer_size = 64M
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_data_file_path = ibdata1:20M:autoextend
secure_file_priv = /var/lib/mysql
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysqldump]
quick
max_allowed_packet = 32M
Docker-compose配置文件
version: '3.1'
services:
wordpress:
container_name: wordpress
image: wordpress:php8.0
restart: always
ports:
- 8082:80
links:
- db
depends_on:
- db
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- /data/wordpress/html:/var/www/html
db:
container_name: mysql
image: mysql:8.0
restart: always
volumes:
- /etc/localtime:/etc/localtime
- /data/wordpress/mysql/data:/var/lib/mysql
- /data/wordpress/mysql/logs/:/data/mysql/logs/
- /data/wordpress/mysql/conf/my.cnf:/etc/mysql/my.cnf
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
command: --default-authentication-plugin=mysql_native_password