最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

Docker容器在Linux上部署MySQL

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

括以下幾點:

MySQL團隊維護的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

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

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

  • 訪問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(補丁和更新)”標簽頁。
  • 轉(zhuǎn)到“Patch Search(補丁搜索)”區(qū)域,并在“Search(搜索)”標簽下切換到“Product or Family(產(chǎn)品或家族)(Advanced)(高級)”子標簽。
  • 在“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

如果指定名稱和標簽的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ù)器準備就緒可以使用時,運行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ù)器準備就緒,您可以在剛啟動的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選項默認為true,在您將mysql客戶端連接到服務(wù)器之后,必須通過執(zhí)行以下語句重新設(shè)置服務(wù)器的root密碼:

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

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

容器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進程發(fā)送一個SIGTERM信號,使服務(wù)器能夠優(yōu)雅地關(guān)閉。

還要注意,當(dāng)容器的主要進程(在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進行任何升級之前備份您的數(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的正確標簽。
  • 使用在主機上持久保存的舊服務(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系列中進行升級(即從8.0.x版本升級到8.0.y版本),請按照同樣的步驟操作:停止原始容器,然后使用更新的鏡像在舊服務(wù)器數(shù)據(jù)和配置上啟動一個新的容器。

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

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

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

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安裝后運行hello-world報錯的問題

    解決docker安裝后運行hello-world報錯的問題

    這篇文章主要介紹了解決docker安裝后運行hello-world報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳細講解Docker虛擬化

    詳細講解Docker虛擬化

    本文詳細講解了Docker的虛擬化,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 開放Docker端口的實現(xiàn)示例

    開放Docker端口的實現(xiàn)示例

    本篇文章主要介紹了開放Docker端口的實現(xiàn)示例, 需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • Docker鏡像推送(push)到Docker Hub的實現(xiàn)

    Docker鏡像推送(push)到Docker Hub的實現(xiàn)

    這篇文章主要介紹了Docker鏡像推送(push)到Docker Hub的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 淺談Docker-compose中的depends_on順序的問題解決

    淺談Docker-compose中的depends_on順序的問題解決

    本文主要介紹了淺談Docker-compose中的depends_on順序的問題解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 詳解docker中Dockerfile指令創(chuàng)建鏡像

    詳解docker中Dockerfile指令創(chuàng)建鏡像

    這篇文章主要介紹了詳解docker中Dockerfile指令創(chuàng)建鏡像,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • docker容器中登陸并操作postgresql的實現(xiàn)

    docker容器中登陸并操作postgresql的實現(xiàn)

    本文主要介紹了docker容器中登陸并操作postgresql的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • docker 搭建svn服務(wù)器的教程

    docker 搭建svn服務(wù)器的教程

    這篇文章主要介紹了docker 搭建svn服務(wù)器的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • docker maven plugin快速部署微服務(wù)的詳細流程

    docker maven plugin快速部署微服務(wù)的詳細流程

    本文給大家介紹docker?maven?plugin微服務(wù)快速部署方法,主要將Dockerfile寫在pom中方便項目管理,將微服務(wù)的 打包、上傳、鏡像創(chuàng)建操作整合到一條命令中執(zhí)行,感興趣的朋友跟隨小編一起看看吧
    2022-04-04
  • Docker將鏡像文件發(fā)布到阿里云的詳細過程

    Docker將鏡像文件發(fā)布到阿里云的詳細過程

    這篇文章主要介紹了Docker將鏡像文件發(fā)布到阿里云的操作,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論

扶风县| 元氏县| 大港区| 临湘市| 伊春市| 庆元县| 石城县| 武城县| 绵阳市| 林芝县| 隆尧县| 达尔| 教育| 芮城县| 中超| 准格尔旗| 璧山县| 江永县| 南部县| 建瓯市| 锡林郭勒盟| 东兰县| 兰溪市| 综艺| 旺苍县| 永定县| 临洮县| 那坡县| 安庆市| 夏河县| 岳阳县| 河津市| 崇左市| 玉田县| 金乡县| 安溪县| 清涧县| 固始县| 阳泉市| 武定县| 舞阳县|