千家信息网

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

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,Docker MySQL 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可1、加上-v参数$ docker run -d -e MYSQL_ROOT_PASSWORD=admin --nam
千家信息网最后更新 2025年01月20日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 定义数据库不区分表名大小写


网友的步骤:


  1. 拉取mysql 镜像


    docker pull mysql


  2. 运行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 设置容器的时间与宿主机同步


0