一、预创建存储券映射
mkdir -p /opt/docker_mysql/conf/conf.d;
mkdir -p /opt/docker_mysql/data;
mkdir -p /opt/docker_mysql/logs;
mkdir -p /opt/docker_mysql/mysql-files;chmod -R 755 /opt/docker_mysql;
二、编辑配置文件
vim /opt/docker_mysql/conf/conf.d/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/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# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysqlpid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock!includedir /etc/mysql/conf.d/
# 此处必须把配置文件的权限给改小,否则,容器内部会忽略该配置文件
chmod 644 /opt/docker_mysql/conf/conf.d/my.cnf
三、安装
docker run \
--restart=always \
--name mysql8.0 \
--privileged=true \
-v /opt/docker_mysql/conf/:/etc/mysql \
-v /opt/docker_mysql/data:/var/lib/mysql \
-v /opt/docker_mysql/logs:/var/log \
-v /opt/docker_mysql/mysql-files:/var/lib/mysql-files \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD='yourPasswd' \
-d mysql:8.0 \
--lower_case_table_names=1