欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Docker容器在Linux上部署MySQL方式

 更新時間:2025年02月08日 10:39:10   作者:費曼樂園  
本文詳細(xì)介紹了如何在Linux上使用Docker部署MySQL服務(wù)器,包括下載鏡像、啟動容器、連接到服務(wù)器、停止和刪除容器,以及升級服務(wù)器的步驟

Docker容器在Linux上部署MySQL

使用Docker部署MySQL服務(wù)器的基本步驟包

括以下幾點:

MySQL團(tuán)隊維護(hù)的MySQL Docker鏡像專門針對Linux平臺構(gòu)建。其他平臺不受支持,而在這些平臺上使用這些MySQL Docker鏡像的用戶將自擔(dān)風(fēng)險。

下載MySQL Server Docker鏡像

重要提示

對于MySQL企業(yè)版用戶:要使用MySQL企業(yè)版的Docker鏡像,需要訂閱。訂閱采用自帶許可證模式(Bring Your Own License model)。

在單獨的步驟中下載服務(wù)器鏡像并非絕對必要;然而,在創(chuàng)建Docker容器之前執(zhí)行此步驟可確保本地鏡像是最新的。要從Oracle容器注冊表(OCR)下載MySQL社區(qū)版鏡像,請運行以下命令:

docker pull container-registry.oracle.com/mysql/community-server:tag

標(biāo)簽(tag)是您想要拉取的鏡像版本的標(biāo)簽(例如,5.7、8.0或者latest)。如果省略了`:tag`,將使用latest標(biāo)簽,并且將下載MySQL社區(qū)服務(wù)器最新通用版本(GA)的鏡像。

要從OCR下載MySQL企業(yè)版鏡像,您需要首先在OCR上接受許可協(xié)議,并使用您的Docker客戶端登錄到容器倉庫。請按照以下步驟進(jìn)行:

  • 訪問OCR網(wǎng)站 https://container-registry.oracle.com/ 并選擇MySQL。
  • 在MySQL倉庫列表下,選擇enterprise-server。
  • 如果您尚未登錄OCR,請單擊頁面右側(cè)的“登錄”按鈕,然后在提示時輸入您的Oracle帳戶憑據(jù)。
  • 按照頁面右側(cè)的說明接受許可協(xié)議。
  • 使用您的容器客戶端登錄到OCR,例如使用docker login命令:
# docker login container-registry.oracle.com 
Username: Oracle-Account-ID
 Password: password
 Login successful.

使用以下命令從OCR下載MySQL企業(yè)版的Docker鏡像:

docker pull  container-registry.oracle.com/mysql/enterprise-server:tag

要從My Oracle Support網(wǎng)站下載MySQL企業(yè)版鏡像,請訪問該網(wǎng)站,登錄您的Oracle賬戶,然后在登陸頁面執(zhí)行以下步驟:

  • 選擇“Patches and Updates(補丁和更新)”標(biāo)簽頁。
  • 轉(zhuǎn)到“Patch Search(補丁搜索)”區(qū)域,并在“Search(搜索)”標(biāo)簽下切換到“Product or Family(產(chǎn)品或家族)(Advanced)(高級)”子標(biāo)簽。
  • 在“Product(產(chǎn)品)”字段輸入“MySQL Server”,并在“Release(發(fā)布版本)”字段輸入所需的版本號。
  • 使用附加過濾器的下拉菜單選擇“Description—contains(描述—包含)”,并在文本框中輸入“Docker”。
  • 點擊“Search”(搜索)按鈕,從結(jié)果列表中選擇您想要的版本,然后點擊“Download”(下載)按鈕。
  • 在出現(xiàn)的“File Download”(文件下載)對話框中,點擊并下載Docker鏡像的.zip文件。

解壓下載的 .zip 壓縮包以獲取其中的 tarball (mysql-enterprise-server-version.tar),然后運行以下命令加載鏡像:

docker load -i mysql-enterprise-server-version.tar

您可以使用以下命令列出已下載的 Docker 鏡像:

$> docker images
 REPOSITORY                                             TAG       IMAGE ID       CREATED        SIZE
 container-registry.oracle.com/mysql/community-server   latest    1d9c2219ff69   2 months ago   496MB

啟動 MySQL 服務(wù)器實例

要為 MySQL Server 啟動一個新的 Docker 容器,請使用以下命令:

docker run --name=container_name  --restart on-failure -d image_name:tag 

image_name 是用于啟動容器的鏡像的名稱;

  • --name選項用于為您的服務(wù)器容器提供自定義名稱,是可選的;如果沒有提供容器名稱,則會生成一個隨機名稱。
  • --restart選項用于配置容器的重啟策略;它應(yīng)設(shè)置為值 on-failure,以啟用對服務(wù)器在客戶端會話中重新啟動的支持(例如,當(dāng)客戶端執(zhí)行 RESTART 語句或在配置 InnoDB 集群實例時發(fā)生)。啟用重啟支持后,在客戶端會話中發(fā)出重啟會導(dǎo)致服務(wù)器和容器停止然后重新啟動。支持服務(wù)器重啟可用于 MySQL 8.0.21 及更高版本。

例如:

要為 MySQL Community Server 啟動一個新的 Docker 容器,請使用以下命令:

docker run --name=mysql1 --restart on-failure -d container-registry.oracle.com/mysql/community-server:lates

要使用從 OCR 下載的 Docker 鏡像啟動 MySQL Enterprise Server 的新 Docker 容器,請使用以下命令:

docker run --name=mysql1 --restart on-failure -d container-registry.oracle.com/mysql/enterprise-server:late

要使用從My Oracle Support下載的Docker鏡像啟動新的MySQL Enterprise Server Docker容器,請使用此命令:

docker run --name=mysql1 --restart on-failure -d mysql/enterprise-server:latest

如果指定名稱和標(biāo)簽的Docker鏡像尚未通過先前的docker pull或docker run命令下載,現(xiàn)在會下載該鏡像。

容器的初始化開始,并且當(dāng)您運行docker ps命令時,該容器將出現(xiàn)在正在運行的容器列表中。

例如:

$> docker ps
 CONTAINER ID   IMAGE                                                         COMMAND                  CREATED          STATUS                    PORTS                       NAMES
 4cd4129b3211   container-registry.oracle.com/mysql/community-server:latest   "/entrypoint.sh mysq…"   8 sec

容器初始化可能需要一些時間。當(dāng)服務(wù)器準(zhǔn)備就緒可以使用時,運行docker ps命令輸出中容器的狀態(tài)將從(health: starting)更改為(healthy)。

上面使用的docker run命令中的-d選項使容器在后臺運行。

使用此命令來監(jiān)視容器的輸出:

docker logs mysql1

一旦初始化完成,命令的輸出將包含為root用戶生成的隨機密碼;

例如,使用以下命令檢查密碼:

$> docker logs mysql1 2>&1 | grep GENERATED
 GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs

從容器內(nèi)部連接到MySQL服務(wù)器

一旦服務(wù)器準(zhǔn)備就緒,您可以在剛啟動的MySQL服務(wù)器容器內(nèi)運行mysql客戶端,并連接到MySQL服務(wù)器。

使用docker exec -it命令在您啟動的Docker容器中啟動一個mysql客戶端,示例如下:

docker exec -it mysql1 mysql -uroot -p

當(dāng)要求輸入時,請輸入生成的root密碼(請參閱上述“啟動MySQL服務(wù)器實例”的最后一步,找到密碼方法)。

由于MYSQL_ONETIME_PASSWORD選項默認(rèn)為true,在您將mysql客戶端連接到服務(wù)器之后,必須通過執(zhí)行以下語句重新設(shè)置服務(wù)器的root密碼:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

將password替換為您選擇的密碼。一旦密碼重置完成,服務(wù)器就準(zhǔn)備好供使用了。

容器shell訪問

要訪問MySQL服務(wù)器容器的shell,請使用docker exec -it命令在容器內(nèi)啟動一個bash shell:

$> docker exec -it mysql1 bash
 bash-4.2#

然后,您可以在容器內(nèi)運行Linux命令。

例如,要查看容器內(nèi)服務(wù)器數(shù)據(jù)目錄中的內(nèi)容,請使用以下命令:

bash-4.2# ls /var/lib/mysql
 auto.cnf    ca.pem      client-key.pem  ib_logfile0  ibdata1  mysql       mysql.sock.lock    private_key.pem  server-cert.pem  sys
 ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile1  ibtmp1   mysql.sock  performance_schema  publ

停止和刪除MySQL容器

要停止我們創(chuàng)建的MySQL服務(wù)器容器,請使用以下命令:

docker stop mysql1

docker stop向mysqld進(jìn)程發(fā)送一個SIGTERM信號,使服務(wù)器能夠優(yōu)雅地關(guān)閉。

還要注意,當(dāng)容器的主要進(jìn)程(在MySQL服務(wù)器容器的情況下是mysqld)停止時,Docker容器會自動停止。

要再次啟動MySQL服務(wù)器容器:

docker start mysql1

要通過一個命令停止并重新啟動MySQL服務(wù)器容器:

 docker restart mysql1

要刪除MySQL容器,首先停止它,然后使用docker rm命令:

docker stop mysql1
docker rm mysql1 

如果您希望同時刪除服務(wù)器數(shù)據(jù)目錄的Docker卷,請在docker rm命令中添加v選項。

升級MySQL服務(wù)器容器

重要事項:

  • 在對MySQL進(jìn)行任何升級之前備份您的數(shù)據(jù)庫。
  • 本節(jié)中的說明要求將服務(wù)器的數(shù)據(jù)和配置持久化到主機上。

按照以下步驟升級Docker中的MySQL 5.7到8.0版本:

  • 停止MySQL 5.7服務(wù)器(在此示例中容器名稱為mysql57):
 docker stop mysql57
  • 下載MySQL 8.0服務(wù)器的Docker鏡像。確保使用適用于MySQL 8.0的正確標(biāo)簽。
  • 使用在主機上持久保存的舊服務(wù)器數(shù)據(jù)和配置啟動一個新的MySQL 8.0 Docker容器(在本示例中命名為mysql80),方法是將其綁定掛載。對于MySQL Community Server,請運行以下命令:
docker run --name=mysql80 \
   --mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
   --mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \
   -d container-registry.oracle.com/mysql/community-server:8.0

如有需要,請將 container-registry.oracle.com/mysql/community-server 調(diào)整為正確的鏡像名稱,

例如,使用 container-registry.oracle.com/mysql/enterprise-server 替換MySQL企業(yè)版的鏡像,這些鏡像可以從OCR下載,或使用 mysql/enterprise-server 從我的Oracle支持下載MySQL企業(yè)版鏡像。

  • 等待服務(wù)器完成啟動。您可以使用 docker ps 命令檢查服務(wù)器的狀態(tài)。

對于在8.0系列中進(jìn)行升級(即從8.0.x版本升級到8.0.y版本),請按照同樣的步驟操作:停止原始容器,然后使用更新的鏡像在舊服務(wù)器數(shù)據(jù)和配置上啟動一個新的容器。

如果在啟動原始容器時使用了8.0或最新標(biāo)簽,并且現(xiàn)在有一個您想要升級的新的MySQL 8.0版本,您必須首先使用以下命令拉取新版本的鏡像:

docker pull container-registry.oracle.com/mysql/community-server:8.0

您可以通過在舊數(shù)據(jù)和配置上使用相同標(biāo)簽啟動一個新容器來進(jìn)行升級。

docker run --name=mysql80new \
   --mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
   --mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \
   -d container-registry.oracle.com/mysql/community-server:8.0

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker容器/etc/hosts文件修改方法

    docker容器/etc/hosts文件修改方法

    在容器內(nèi)部,當(dāng)需要訪問其他容器或主機時,可以通過/etc/hosts文件來解析主機名,從而實現(xiàn)網(wǎng)絡(luò)通信,這篇文章主要介紹了docker容器/etc/hosts文件,需要的朋友可以參考下
    2023-06-06
  • windows server 2016安裝docker的方法步驟

    windows server 2016安裝docker的方法步驟

    這篇文章主要介紹了windows server 2016安裝docker的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • docker通過Dockerfile修改鏡像中tomcat的端口

    docker通過Dockerfile修改鏡像中tomcat的端口

    8080端口會經(jīng)常出現(xiàn)被占用的情況,本文主要介紹了docker通過Dockerfile修改鏡像中tomcat的端口,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Docker 無法停止或刪除容器服務(wù)問題的解決方案

    Docker 無法停止或刪除容器服務(wù)問題的解決方案

    這篇文章主要介紹了Docker 無法停止或刪除容器服務(wù)問題的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker容器操作方法詳解

    Docker容器操作方法詳解

    Docker 在隔離的容器中運行進(jìn)程。之前總結(jié)了Docker鏡像的使用詳解,本篇按照之前測試openGauss容器過程中總結(jié)出來使用Docker容器的常用命令
    2022-08-08
  • docker部署安裝jenkins的實現(xiàn)步驟

    docker部署安裝jenkins的實現(xiàn)步驟

    本文主要介紹了docker部署安裝jenkins的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 如何查看docker run啟動參數(shù)命令(推薦)

    如何查看docker run啟動參數(shù)命令(推薦)

    這篇文章主要介紹了如何查看docker run啟動參數(shù)命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • docker-compose網(wǎng)絡(luò)設(shè)置之networks的使用

    docker-compose網(wǎng)絡(luò)設(shè)置之networks的使用

    本文詳細(xì)解釋了在使用 Docker Compose時如何配置網(wǎng)絡(luò),包括創(chuàng)建、使用和問題解決等方面,介紹了如何通過docker-compose.yml文件快速編排和部署應(yīng)用服務(wù),同時解決網(wǎng)絡(luò)隔離問題,感興趣的可以了解一下
    2024-10-10
  • k3s?通過docker部署?Kubernetes的方法步驟

    k3s?通過docker部署?Kubernetes的方法步驟

    本文主要介紹了k3s?通過docker部署?Kubernetes的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Docker服務(wù)遷移的實現(xiàn)

    Docker服務(wù)遷移的實現(xiàn)

    本文詳細(xì)介紹了如何備份和遷移Docker服務(wù)數(shù)據(jù),包括停止Docker服務(wù)、備份Docker數(shù)據(jù)和DockerCompose文件,使用SCP或Rsync傳輸備份文件,以及在新服務(wù)器上恢復(fù)Docker數(shù)據(jù)和設(shè)置權(quán)限,文中提供了詳細(xì)的命令和步驟,確保數(shù)據(jù)遷移過程順利進(jìn)行
    2024-10-10

最新評論