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 设置容器的时间与宿主机同步
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341