#拉取镜像
docker pull mysql:latest
#新建文件夹和配置文件映射
mkdir -p /usr/local/mysql/data
touch /usr/local/mysql/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=mysql
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock
编辑后记得保存
#启动mysql ,挂载配置文件,数据持久化到宿主主机
docker run \
-p 3306:3306 \
--name mysql-8 \
--privileged=true \
--restart=always \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/my.cnf:/etc/my.cnf \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:latest
完事