首页
学习
活动
专区
圈层
工具
发布

docker搭建mysql

基础概念

Docker 是一种开源的容器化技术,它允许开发者将应用及其依赖打包成一个独立的容器,从而实现快速、一致地部署和运行应用。MySQL 是一种流行的关系型数据库管理系统,广泛应用于各种应用场景中。

相关优势

  1. 隔离性:Docker 容器提供了良好的隔离性,确保 MySQL 实例之间不会相互影响。
  2. 可移植性:通过 Docker,可以轻松地将 MySQL 实例从一个环境迁移到另一个环境。
  3. 资源利用率高:Docker 容器共享主机系统的内核,因此相比传统的虚拟机,资源利用率更高。
  4. 易于管理:Docker 提供了丰富的命令行工具和 API,使得容器的创建、启动、停止和删除等操作变得简单。

类型

在 Docker 中,MySQL 可以通过两种方式部署:

  1. 官方镜像:Docker Hub 上提供了官方的 MySQL 镜像,可以直接使用。
  2. 自定义镜像:根据特定需求,可以基于官方镜像构建自定义的 MySQL 镜像。

应用场景

  1. 开发环境:在开发过程中,使用 Docker 搭建 MySQL 可以确保所有开发者使用相同的环境,避免因环境差异导致的问题。
  2. 测试环境:在自动化测试中,可以快速部署和销毁 MySQL 实例,提高测试效率。
  3. 生产环境:虽然 Docker 在生产环境中的使用需要更多的考虑和配置,但它仍然是一种可行的部署方式,特别是当需要快速扩展或迁移数据库时。

如何搭建

以下是一个简单的步骤,展示如何使用 Docker 搭建 MySQL:

  1. 安装 Docker:首先,确保你的系统上已经安装了 Docker。如果没有,请参考 Docker 官方文档进行安装。
  2. 拉取 MySQL 镜像:在命令行中运行以下命令来拉取官方的 MySQL 镜像:
代码语言:txt
复制
docker pull mysql:latest
  1. 运行 MySQL 容器:使用以下命令来运行一个 MySQL 容器,并设置必要的参数,如 root 用户的密码:
代码语言:txt
复制
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest

在这里,some-mysql 是容器的名称,my-secret-pw 是 root 用户的密码。你可以根据需要修改这些值。

  1. 验证 MySQL 容器:运行以下命令来验证 MySQL 容器是否正在运行,并连接到它:
代码语言:txt
复制
docker exec -it some-mysql mysql -uroot -p

输入密码后,你应该能够成功连接到 MySQL 数据库。

可能遇到的问题及解决方法

  1. 端口冲突:如果 MySQL 默认的 3306 端口已被其他应用占用,可以在运行容器时指定其他端口,如:
代码语言:txt
复制
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3307:3306 -d mysql:latest
  1. 数据持久化:默认情况下,Docker 容器中的数据是临时的。为了实现数据持久化,可以使用 Docker 卷或绑定挂载。例如:
代码语言:txt
复制
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /my/own/datadir:/var/lib/mysql -d mysql:latest

在这里,/my/own/datadir 是主机上的目录,它将被挂载到容器内的 /var/lib/mysql 目录,从而实现数据持久化。

参考链接

请注意,以上信息可能会随着 Docker 和 MySQL 的更新而发生变化。建议查阅最新的官方文档以获取最准确的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • docker连接宿主机mysql_docker搭建mysql主从

    Docker搭建Mysql主从复制 前言 相信我,看完这一篇,mysql主从复制能遇到的错误在我这里都遇到了,docker能遇到的错误在我这里也遇到了,包括centos的错误,看吧,都是成长 docker...:https://blog.csdn.net/hello_list/article/details/124761680 如果你还没有用docker搭建过mysql先不要急着搭建集群,可以显示着用docker...搭建一个mysql,这里有教程,可以先试着去搭建一个mysql: 之前我们使用docker搭建了一个Mysql,那既然一个Mysql我们可以搭建成功,集群还不是分分钟,今天我们就简单搭建一个Mysql集群...,就搭建一个最简单的一主一从的主从复制吧,如果一个搭建成功一主多从也是很简单,废话不多说,直接开始 这里我们只说安装啊,不说什么原理: 我们首先就是安装Mysql一样;其实就相当于虚拟机跑了两个mysql...而且,平常怎么搭建Mysql就怎么搭建,这里如果不是学习不建议mysql用docker容器搭建,因为我们知道一个容器可以被删除卸载,而数据库作为保存数据的,跑在docker上还是不安全,虽然有挂载,还是不建议

    3K10

    Docker搭建MySQL主从复制

    Docker搭建MySQL主从复制 主从服务器上分别安装Docker [root@localhost ~]# uname -r 3.10.0-693.el7.x86_64 [root@localhost..."] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 2.2.1 下载MySQL 2.2.2 查看MySQL镜像 2.2.3...创建MySQL的挂载文件目录(日志、数据、配置) 2.2.4 先启动容器(为了复制配置文件)(这种做法显得多余,但是Docker不是很精通的我没想到更好的办法,请各位大神指导) 2.2.5 复制配置文件...2.2.6 停止并删容器 2.2.7 重新启动容器(加上挂载) 2.2.8 进入MySQL查询现有字符集,结果都是utf8mb4 2.2.9 在挂载的配置文件更改字符集 2.2.10 重启docker...容器,并查看字符集已经更改,证明挂载的配置文件有效 搭建主从复制数据库 3.1.1 进入主库挂载配置文件my.cnf,加入以下配置并重启docker容器 3.1.2 在主Master库执行语句 为防止后面出现报错

    79320

    docker搭建mysql主从复制

    docker搭建mysql主从复制 1、主从复制搭建步骤 1.1 新建主服务器容器实例3307 1.2 新建my.cnf 1.3 重启master实例 1.4 进入mysql-master容器 1.5...1.15 主从复制测试 关于主从复制原理,我会在后面的mysql专栏部分详解,这里只讲docker搭建mysql主从实战。...1、主从复制搭建步骤 1.1 新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log...restart mysql-slave 1.9 在主数据库中查看主从同步状态 show master status; 1.10 进入mysql-slave容器 docker exec -it mysql-slave...在从数据库中开启主从同步 start slave; 1.14 查看从数据库状态发现已经同步 1.15 主从复制测试 主库新建库、新建表、插入数据 从库查看库、查看记录,看主从同步是否成功 主从复制搭建成功

    1K20

    使用Docker搭建MySQL读写分离集群

    MySQL 主从同步集群搭建 使用docker方式创建,主从服务器IP一致,端口号不同 docker服务名分别为: yuluo-mysql-master port: 3306 yuluo-mysql-slave1...创建并启动MySQL主服务器 docker run -d \ -p 3306:3306 \ -v /home/yuluo/shardingsphere-env/master/conf:/etc/mysql...测试连接 进入MySQL主服务器登录mysql #进入容器:env LANG=C.UTF-8 避免容器中显示中文乱码 docker exec -it yuluo-mysql-master env LANG...从服务器配置1 1.启动从服务器1 docker run -d \ -p 3307:3306 \ -v /home/yuluo/shardindsphere-env/slave1/conf:/etc/mysql...此错误,虽然不影响主从同步的搭建,但是如果想从远程客户端通过以下方式连接docker中的MySQL则没法连接 C:\Users\administrator>mysql -h 192.168.100.201

    87330

    Docker学习之搭建MySql容器服务

    描述 MySQL 5.6 SQL数据库服务器Docker镜像,此容器映像包含用于OpenShift的MySQL 5.6 SQL数据库服务器和一般用法。用户可以选择RHEL和基于CentOS的图像。...然后CentOS镜像可以在Docker Hub上以centos / mysql-56-centos7的形式获得。...用法 查找镜像: docker search mysql 获取镜像: docker pull docker.io/centos/mysql-56-centos7 如果您只想设置必需的环境变量而不将数据库存储在主机目录中...,请执行以下命令: docker run -d --name app_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 docker.io/centos/...:初始化root用户的密码 查看容器运行情况: docker ps 进入容器: docker exec -it app_mysql bash 命令说明: -d :分离模式: 在后台运行 -i :即使没有附加也保持

    71710

    使用Docker搭建MySQL数据库服务

    而Docker作为一种流行的容器化解决方案,可以使数据库的部署和管理变得更加简单和灵活。本文将介绍如何使用Docker搭建MySQL数据库服务,让你在本地环境中快速部署一个MySQL实例。...第一步:拉取MySQL镜像 docker pull mysql:5.7 第一步,输入docker pull mysql:5.7命令,下载MySQL5.7的镜像文件。...如下图: 验证是否成功拉取,运行docker images命令,查看是否有mysql5.7的镜像,如下图: 第二步:创建容器并启动 docker run --name mysql5.7-dev -p 3307...:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 启动容器后,我们可以运行docker ps命令来查看是否成功启动,如下图: 第三步:Docker连接MySQL...的客户端来连接数据库,测试我们是否成功创建了镜像及用户,我这里选择的是navicat连接,如下图: 连接成功后,我们可以在界面中看到数据库中已有的表,如下图: 总结 使用Docker搭建MySQL数据库服务非常简单

    1.3K10

    基于Docker搭建MySQL的主从复制

    docker 数据库安装 主从基本信息 image.png 创建工作目录 mkdir -p /usr/local/docker/mysql cd /usr/local/docker/mysql mkdir...ps # 将容器/etc/mysql/my.cnf文件拷贝到当前目录 docker cp mysql-test:/etc/mysql/my.cnf /usr/local/docker/mysql #...查看是否拷贝成功 ll /usr/local/docker/mysql # 将文件拷贝到各自的工作目录 cp /usr/local/docker/mysql/my.cnf /usr/local/docker.../docker/mysql/3306 docker run \ -p 3306:3306 \ --name mysql-master01-3306 \ -v $PWD/conf:/etc/mysql/...的主从复制就已经搭建完成了,这里是基于Docker的搭建,基于操作系统的安装和使用Docker的本质是没有什么不同的;但是使用Docker对系统的污染较少,所以个人是比较推荐使用Docker搭建

    75220
    领券