docker pull mysql:5.7
docker run -d -p 3306:3306 --privileged=true -v /zzyyuse/mysql/log:/var/log/mysql -v /zzyyuse/mysql/data:/var/lib/mysql -v /zzyyuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
将日志、数据、配置文件映射到宿主机上,做个数据卷,防止删容器跑路。
通过容器卷同步给mysql容器实例。
my.cnf文件如下:
主要是设置下字符集,要不插入中文的时候会显示?
[client] default_character_set=utf8 [mysqld] collation_server = utf8_general_ci character_set_server = utf8
docker restart mysql
docker exec -it mysql /bin/bash
SHOW VARIABLES LIKE 'character%';
create database db01; use db01; create table t1(id int,name varchar(20)) insert into t1 values(1,'zhangsan') insert into t1 values(2,'李四')
删除当前容器:
docker rm -f mysql
再次创建实例,数据卷映射规则还是和之前的一样
docker run -d -p 3306:3306 --privileged=true -v /zzyyuse/mysql/log:/var/log/mysql -v /zzyyuse/mysql/data:/var/lib/mysql -v /zzyyuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
可以看到,之前的数据还是在的,防止了某些别有用心的人删容器跑路。