Docker下安装MySQL

如果在Docker下直接拉取MySQL并运行镜像,由于没有指定字符编码集,可能会存在插入中文出现乱码的情况,并且当容器删除后,容器里面存在的数据会丢失,所以在运行容器时应该使用数据卷进行挂载,按照如下步骤操作即可。

Docker下安装MySQL

启动Docker后实现数据卷挂载,将mysql相关的运行数据同步到宿主机的指定目录

bash 复制代码
[root@localhost conf]# docker run -d -p 3307:3306 --privileged=true -v /opt/mysql/log:/var/log/mysql -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
cce55233a5f2719e0d447c83df29bcd65c897a5fb9ced714cdfc7d836aa3319e

创建my.cnf文件

bash 复制代码
[root@localhost ~]#  cd /opt/mysql/conf/
[root@localhost conf]# vim my.cnf

编辑my.cnf文件来避免乱码问题

bash 复制代码
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

由于修改了配置需要重新启动mysql容器

bash 复制代码
[root@localhost conf]# docker restart cce55233a5f2
cce55233a5f2

进入容器并登录mysql数据库

bash 复制代码
[root@localhost conf]# docker exec -it cce55233a5f2 /bin/bash
root@cce55233a5f2:/# mysql -u root -p
mysql> 

查看编码集

bash 复制代码
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

在主机上通过Navicat通过ip+3037连接MySQL数据库,创建数据库,数据表并插入数据

在/opt/mysql/data目录下进行查看,发现我们创建的数据库成功的保存到数据卷对应的挂载目录

至此Docker下MySQL安装完成

相关推荐
风曦Kisaki4 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着20135 小时前
docker 安装 ,在centos7.9
运维·docker·容器
骑上单车去旅行7 小时前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
spider_xcxc8 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
java_logo8 小时前
Docker Compose 部署 Apache Superset:轻松搭建开源 BI 平台
docker·开源·apache·superset·轩辕镜像·superset部署方案·docker superset
zy happy9 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
IT瑞先生1 天前
docker-compose下快速部署实操——持续更新...
运维·docker·容器
爱码少年1 天前
Docker遍历镜像生成导出镜像命令六法
docker·shell
BullSmall1 天前
Sonarqube9.9 docker 镜像启动后 conf 下的配置文件没有了
docker·容器·eureka
ruofu331 天前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker