docker配置mysql文件位置_Docker安装MySQL并挂载数据及配置文件

下载镜像

# docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本latest

docker pull mysql

挂载数据卷以及配置文件

# 运行mysql命名容器名称为mysql-service并且设置root账号初始密码为root

docker run -d -p 3306:3306 --name mysql-service -e MYSQL_ROOT_PASSWORD="root" mysql

进入Docker容器内

docker exec -it mysql-service bash

确定Docker内 MySQL 文件相关路径

# 查找Docker内,MySQL配置文件my.cnf的位置

mysql --help | grep my.cnf

ab6c335f29b02ab8b7ea5f350e071daf.png

创建本地路径并挂载Docker内数据

创建本地文件夹

mkdir -p /root/docker/mysql/conf && mkdir -p /root/docker/mysql/data

将测试容器里 MySQL 的配置文件复制到该路径。日后需改配置,直接在挂载路径的配置文件上修改即可

docker cp mysql-service:/etc/mysql/my.cnf /root/docker/mysql/conf

创建 MySQL 容器并启动

docker run --name mysql-server \

-p 3306:3306 -e MYSQL_ROOT_PASSWORD=root \

--mount type=bind,src=/root/docker/mysql/conf/my.cnf,dst=/etc/mysql/my.cnf \

--mount type=bind,src=/root/docker/mysql/data,dst=/var/lib/mysql \

--restart=on-failure:3 \

-d mysql

--name:为容器指定一个名字

-p:指定端口映射,格式为:主机(宿主)端口:容器端口

-e:username="xxx",设置环境变量

--restart=on-failure:3:是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次

-mount:绑定挂载

-d:后台运行容器,并返回容器 id

更改字符集

如果想Mysql在后续的操作中中文不出现乱码,则需要修改配置文件内容

#登录mysql

mysql -uroot -p

#查看mysql字符集命令

show variables like '%char%';

9155b301f8568c57dbf10e5b5819a79e.png

修改配置文件

添加到my.cnf

[mysqld]

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

重启docker mysql-server容器

docker restart mysql-server

448217cc51e75f38614789428acce629.png

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值