docker mysql 数据持久化到本地、设置不区别表名大小写

Docker MySQL 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可

1、加上-v参数

$ docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 

还可以指定配置文件

docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql 

这样,即可修改配置文件,还能把数据存在本地目录,一举两得,-v 参数可以多次使用,每次映射一个目录,通过这种方式,很容易进行配置。。

docker run -d -e MYSQL_ROOT_PASSWORD=admin --name mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql --lower_case_table_names=1

解释如下:

-d  容器在后台运行

-e MYSQL_ROOT_PASSWORD=admin    配置mysql root的密码

-v   对mysql 的配置文件和数据存储路径进行映射到宿主机,对数据持久化

-p   端口映射

--name  定义容器的名称

--lower_case_table_names=1    定义数据库不区分表名大小写

网友的步骤:

拉取mysql 镜像

docker pull mysql

运行mysql

 

docker run 

--net=host 

--restart=always 

--privileged=true 

-v /usr/docker_dat/mysql/data:/var/lib/mysql 

--name mysql 

-p 3306:3306 

-e MYSQL_ROOT_PASSWORD=root 

-v /etc/localtime:/etc/localtime:ro 

-d mysql --lower_case_table_names=1  

3. 参数说明

--restart=always 跟随docker启动  

--privileged=true 容器root用户享有主机root用户权限  

-v 映射主机路径到容器  

-e MYSQL_ROOT_PASSWORD=root 设置root用户密码  

-d 后台启动  

--lower_case_table_names=1 设置表名参数名等忽略大小写 

-v /etc/localtime:/etc/localtime:ro   设置容器的时间与宿主机同步

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...