MySQL数据库管理系统
MySQL是一个使用SQL语法管理数据库的关系型数据库管理系统(RDBMS)。如今,大多数主流Linux发行版都预装了MariaDB,这是一个开源的MySQL替代品。本文将介绍在基于Linux的操作系统中安装MySQL的几种方法。
XAMPP集成环境
XAMPP是一个流行的开源跨平台Web服务器解决方案套件,由Apache Friends开发。可以通过官方网站的安装程序安装。下载后会得到一个.run文件,可以通过终端执行安装。但是,不建议以这种方式安装。
推荐的方法是在发行版的原生包管理器中搜索类似的包。例如,在Arch Linux中,可以通过AUR(Arch用户仓库)获取该包。以下是git克隆URL:
可以使用像yay这样的AUR包装器来安装它。为此,使用以下命令查询并安装最新版本的xampp:
<code class="language-bash">yay xampp</code>
安装完成后打开应用程序,转到第二个标签并启动数据库和Web服务器。Web UI将在localhost下可用。
使用Podman容器
安装MySQL的另一种好方法是使用Podman或Docker容器。我个人更喜欢Podman,所以我会介绍它。安装仅运行MySQL的容器非常容易。我们只需要获取镜像并在容器中运行它。它的卷将自动创建。如果我们还想包含一个phpMyAdmin Web应用程序来管理我们的镜像,那么我们实际上必须使用Pod来包含两个不同的容器。
要设置MySQL镜像,我们可以从Docker Hub拉取它。命令如下:
<code class="language-bash">podman pull mysql</code>
然后,我们可以使用以下命令启动并运行我们的镜像:
<code class="language-bash">podman run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=tree --name mysql-db mysql:latest</code>
这里我们的root密码由环境变量MYSQL_ROOT_PASSWORD
定义为tree
。如果我们尝试列出正在运行的进程,我们可以执行:
<code class="language-bash">podman ps</code>
它将显示我们的镜像正在运行。现在让我们实际进入我们的服务器!
<code class="language-bash">podman exec -it mysql-db mysql -u root -p</code>
让我们运行一个命令来验证:
<code class="language-bash">show databases;</code>
它将列出所有数据库。现在,您可以使用localhost:3306从MySQL Workbench或其他客户端访问此数据库。
phpMyAdmin是用于管理MySQL数据库的Web UI。让我们先拉取它:
<code class="language-bash">podman pull phpmyadmin</code>
现在,如果运行此镜像,我们将无法访问另一个镜像(MySQL),因为它们之间没有连接。因此,我们将使用Podman Pod。让我们创建一个Podman Pod:
<code class="language-bash">yay xampp</code>
如果我们之前按照本指南创建了一个镜像并且该镜像正在运行,请尝试以下命令来停止和删除:
<code class="language-bash">podman pull mysql</code>
现在让我们在这个Pod下启动我们的MySQL服务器:
<code class="language-bash">podman run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=tree --name mysql-db mysql:latest</code>
最后,让我们使用此Pod打开我们的phpMyAdmin:
<code class="language-bash">podman ps</code>
它将在端口8080下可用,就像我们之前定义的那样。所以让我们访问:
这里,我们的:
<code class="language-bash">podman exec -it mysql-db mysql -u root -p</code>
<code class="language-bash">show databases;</code>
或者,使用Podman?
<code class="language-bash">podman pull phpmyadmin</code>
<code class="language-bash">podman pod create --name mysql-pod -p 8080:8080 3306:3306</code>
run
:创建新的容器或启动现有容器
--name CONTAINER_NAME
:为容器命名。名称应易读且简短。在本例中,名称为test-mysql
。
-e ENV_VARIABLE=value
:-e
标签创建一个环境变量,该变量将在容器内可用。设置MYSQL_ROOT_PASSWORD
至关重要,以便我们稍后可以从容器运行SQL命令。确保将您的强密码存储在安全的地方(不是您的大脑)。
-d
:detached
的缩写,-d
标签使容器在后台运行。如果删除此标签,则命令将继续打印日志,直到容器停止。
image_name
:最后一个参数是容器将从中构建的镜像名称。在本例中,我们的镜像是mysql
。
-p HOST_PORT:CONTAINER_PORT
:-p
标签将主机上的端口映射到容器。在本例中,我们将主机的3306端口映射到容器。这是MySQL的默认端口。
如果命令返回一长串乱码(容器ID),则表示容器已启动。您可以使用docker ps
检查其状态:
<code class="language-bash">podman stop mysql-db && podman rm mysql-db</code>
<code class="language-bash">podman run -d -e MYSQL_ROOT_PASSWORD=tree --pod mysql-pod --name mysql-db mysql:latest</code>
故障排除
This revised response maintains the original language style and meaning while rephrasing sentences and using synonyms to achieve pseudo-originality. The image remains in its original format and location.
以上是在 Linux 中运行 MySQl(有/没有带有 phpmyadmin 的 podman 容器)的详细内容。更多信息请关注PHP中文网其他相关文章!