暂无图片
暂无图片
1
暂无图片
暂无图片
1
暂无图片

[译] 如何在 Docker 容器中设置 MySQL?

原创 黎青峰 2022-05-09
2210

原文地址:How to Set Up MySQL in a Docker Container
原文作者:Joshua Otwell

如果你想建立一个MySQL数据库来为网站、博客或应用程序存储数据,你可以使用Docker容器。这是很简单的事情。并且这对刚开始接触MySQL和后端网络开发的初学者来说是一个合适的练习。

让我们看看Docker容器到底是什么,以及你如何使用它来设置MySQL。

什么是Doceker 容器?

Docker容器是一个独立的软件开发环境,包括运行一个应用程序的所有必要组件。这可以包括应用程序代码、库和其他依赖性。

容器之间和主机操作系统之间是隔离的,所以它们不能干扰或访问其他容器或主机操作系统。这使它们成为打包和部署应用程序的理想选择。

Docker容器是使用Docker镜像创建的。这只是一个创建容器的模板。你可以创建你自己的Docker镜像,或者使用别人创建的镜像。当你从Docker镜像中创建一个容器时,你可以通过添加你自己的文件、设置和应用程序来定制它。

在本教程中,我们将研究如何在Docker容器中设置MySQL

请注意,命令可能根据安装的操作系统而有所不同。这个例子是使用基于Arch Linux的操作系统和MySQL 8.0制作的。

image.png

  • 第一步:安装Docker

如果你还没有准备好,那么请安装Docker。首先,确保操作系统的安装是最新的,在一个新的终端窗口中使用以下命令。

$ sudo pacman -Syu
复制

一旦验证了系统是最新的,就安装Docker。

$ sudo pacman -S docker
复制
  • 第2步:在Docker中安装MySQL

启动Docker服务并运行 "Docker images "命令以检查MySQL当前是否已安装。

[root@docker ~]# docker images
复制
  • 第3步:启动一个MySQL服务器实例

MySQL可以作为一个实例运行。使用ID以分离模式运行容器,并命名Docker容器。MySQL默认使用3600:3306端口,但是要保证密码的正确。在这个例子中,它被简单地设置为 “密码”。

[root@docker ~]# docker container run -d -name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql:latest
复制

由于mysql:latest在本地不可用,该命令将开始下载可用的最新版本的MySQL。

用 "Docker ps "命令检查MySQL容器是否正在运行。

[root@docker ~]# docker ps
复制

这个命令应该显示容器ID,以及MySQL容器正在运行的端口。

样本输出

CONTAINER ID    IMAGE NAMES    COMMAND               CREATED            STATUS      PORTS
6bcd1d829631    mysql:latest  "docker-entrypoint..."  5 seconds ago     Up 3 seconds   0.0.0:3306->3306/tcp, 33060/tcp

复制
  • 第4步:SSH进入MySQL容器

现在,我们需要用 "Docker exec "命令SSH进入MySQL容器,这是一个在运行的容器中运行新命令的命令。之后,我们将需要登录MySQL来创建一个新的数据库。

[root@docker ~]# docker exec -it mysqldb bash
复制

使用在步骤2中制作容器时创建的密码登录到MySQL容器中,这里我们的密码是 “password”。另外,确保IP后面没有空格,因为IP后面的所有内容都是输入的密码的一部分。

[root@6bcd1d829631]# mysql -u root -ppassword
复制

当发出这个命令时,你通常会遇到一个警告:在命令行上使用密码是不安全的。为了绕过这个警告信息,请使用mysql_config_editor工具。

  • 第5步:建立一个数据库

现在我们在MySQL中,使用命令 "show databases "来列出所有可用的数据库。

mysql> show databases;
复制

现在用 "创建数据库 "命令创建一个数据库,并为该数据库取一个名字。在这个例子中,我们将使用名称 “newdatabasename”。

mysql>创建数据库newdatabasename
复制

如果我们使用 "show databases "命令,新数据库现在应该出现在列表中。请看下面的输出示例。

+------------------------------+
|   Database                   |
+------------------------------+
|   information_schema         |
|   mysql                      |
|   newdatabasename            |
|   performance_schema         |
|   sys                        |
+------------------------------+

复制

这个数据库可以很容易地用 "drop database "命令来删除,后面跟的是数据库的名字。

mysql> drop database newdatabasename;
复制
  • 第6步:安装MySQL Workbench

MySQL工作台是一个用于管理的图形化工具,它可用于大多数操作系统。请确保安装与你的操作系统相匹配的版本。
请注意,并非所有版本的Workbench和MySQL都是兼容的,所以使用最新的版本将有助于消除兼容性问题。

结论

Docker可以让你运行隔离的容器,以提高应用程序的性能,而MySQL的可扩展性极强,通常用于数据库管理。

它们结合在一起,对于开始从事后端网络开发的网络开发人员来说是一个很好的组合。如果你想开始使用MySQL和Docker,请遵循帖子中列出的六个步骤,并访问Docker Hub获取最新的MySQL镜像。

最后修改时间:2022-07-05 11:36:55
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

墨天轮福利君
暂无图片
2年前
评论
暂无图片 0
您好,您已成功参与“墨力翻译计划”,有机会入选“月度最佳译文”🏆 💪加油,辛勤译者、月度翻译官等你角逐!
2年前
暂无图片 点赞
评论