首頁 >資料庫 >mysql教程 >在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)

Linda Hamilton
Linda Hamilton原創
2025-01-22 22:18:13508瀏覽

Running MySQl in Linux (with/ without podman container with phpmyadmin)

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鏡像

要設定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鏡像

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>

Docker

  • 從Docker Hub拉取鏡像
<code class="language-bash">show databases;</code>

或者,使用Podman?

<code class="language-bash">podman pull phpmyadmin</code>
  • 現在,讓我們從MySQL鏡像建立我們的第一個容器。以下是我們將要使用的指令:
<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命令。確保將您的強密碼儲存在安全的地方(不是您的大腦)。

-ddetached的縮寫,-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>
  • 然後登入MySQL:
<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn