Docker安装MySQL并挂载数据及配置文件

2021-03-15 18:33 来源:未知 作者:mas 责编:mas

下载镜像

# 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


创建本地路径并挂载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%';

 修改配置文件
 添加到my.cnf 

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

 重启docker mysql-server容器

docker restart mysql-server

 

【版权声明】本站部分内容来源于互联网,本站不拥有所有权,如果发现本站有侵权的内容,欢迎发送邮件至 benumon@163.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

分享:

更多文章

相关文章

关键词:

一生受益-思韵闪耀-专业IT技术社区 - 爱编程,爱源码,爱技术,一生受益。

powerby 一生受益-思韵闪耀    豫ICP备13002912号-2