docker安装mysql

我的环境:centos7

1.操作步骤

安装好docker,我的镜像是

bash 复制代码
{
 "registry-mirrors": [
  "https://hub.rat.dev/",
  "https://docker.1panel.live/",
  "https://docker.m.daocloud.io",
  "https://docker.nju.edu.cn",
  "https://dockerproxy.com"
   ]
}

配置文件所在目录:/etc/docker/daemon.json,我也尝试过aliyun的加速器,但是似乎没有效果,百度了很久,毫无所获,就先用这个镜像了。

安装mysql5.7版本,mysql8会有另外一些坑,因为只是用来学习,所以就用mysql5.7了。

bash 复制代码
docker pull mysql:5.7

安装完毕后,用下面的命令来运行:

bash 复制代码
docker run  --privileged=true --name mysql-server \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf.d:/etc/mysql/conf.d \
-v /data/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7

参数解释

  1. --privileged=true:给予容器扩展的权限,通常用于需要访问底层设备或执行特权操作的场景。
  2. --name mysql-server:为容器指定一个名称,方便后续对容器进行管理和操作。
  3. -v /data/mysql/data:/var/lib/mysql:将主机上的/data/mysql/data目录挂载到容器中的/var/lib/mysql目录,用于存储 MySQL 的数据文件。
  4. -v /data/mysql/conf.d:/etc/mysql/conf.d:将主机上的/data/mysql/conf.d目录挂载到容器中的/etc/mysql/conf.d目录,用于存放 MySQL 的配置文件,可以通过在主机目录中放置配置文件来定制 MySQL 的配置。
  5. -e MYSQL_ROOT_PASSWORD=123456:设置 MySQL 的 root 用户密码为 "123456"。
  6. -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口,使得可以从主机或外部网络访问容器中的 MySQL 服务。
  7. -d:以守护式(后台)模式运行容器。
  8. mysql:5.7:指定要运行的镜像为 MySQL 5.7 版本。

因为用docker安装mysql默认字符集是Latin,所以要配置字符集,挂载了数据卷后,我们去新建一个配置。

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

位置:/data/mysql/conf.d

关闭mysql

bash 复制代码
docker stop mysql-server

启动mysql

bash 复制代码
docker stop mysql-server

默认账号密码为root,123456

为了可以在本地通过工具直连数据库,服务器要开放3306端口。

端口相关命令可以参考 linux防火墙开放指定端口命令-阿里云开发者社区

2.技术验证

本地用工具,比如navicat连接,随便创建一张表,插入中文试试。

验证通过。

服务器看下挂在的data数据卷:/data/mysql/data

test是我新创建的库,验证通过。

相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS3 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏3 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
玉&心3 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing3 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅3 天前
linux(8) 软硬链接
linux·运维·服务器
赵文宇(温玉)3 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang3 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github