创建映射目录
$CONTAINER_HOME=/share/data/container;
mkdir -p $CONTAINER_HOME/mysql/data;
mkdir -p $CONTAINER_HOME/mysql/conf;
启动临时容器:
docker run --name mysql \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=maxwoods.net \
-p 3306:3306 \
-p 33060:33060 \
-d \
mysql:8.4.5 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci;
拷贝配置文件后删除临时容器:
docker cp mysql:/etc/my.cnf $CONTAINER_HOME/mysql/conf/my.cnf
docker cp mysql:/etc/mysql/conf.d $CONTAINER_HOME/mysql/conf/conf.d
docker rm -f mysql;
原始的my.cn内容:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.4/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
host-cache-size=0
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
!includedir /etc/mysql/conf.d/
配置文件增加内容:
[mysqld]
default-time_zone = '+8:00'
lower_case_table_names=1
重新创建容器:
docker run --name mysql \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=maxwoods.net \
-v $CONTAINER_HOME/mysql/conf/my.cnf:/etc/my.cnf \
-v $CONTAINER_HOME/mysql/conf/conf.d:/etc/mysql/conf.d \
-v $CONTAINER_HOME/mysql/data:/var/lib/mysql \
-p 3306:3306 \
-p 33060:33060 \
-d \
mysql:8.4.5 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci;
交互式进入容器内的客户端:
docker exec -it mysql mysql -uroot -pmaxwoods.net
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END