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

Docker版的MySQL5.7升級到MySQL8.0.13,數(shù)據(jù)遷移

 更新時間:2019年09月17日 10:03:47   作者:莫負時光  
這篇文章主要介紹了Docker版的MySQL5.7升級到MySQL8.0.13,數(shù)據(jù)遷移,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

1.備份舊的MySQL5.7的數(shù)據(jù)

記得首先要備份舊的數(shù)據(jù),防止升級失敗導致數(shù)據(jù)丟失。備份的方式有兩種,一種是在宿主機直接執(zhí)行導出命令,另外一種是先進入Docker環(huán)境下進行操作。主要的導出命令如下:

#方式一,直接在宿主機器進行數(shù)據(jù)備份
# 0df568 是docker的id ;-uroot -p123456 是用戶名和密碼;dbA dbB是要備份的數(shù)據(jù),--databases 后面可以接多個數(shù)據(jù)庫名,導出的sql到/root/all-databases3306.sql
docker exec -it 0df568 mysqldump -uroot -p123456 --databases dbA dbB > /root/all-databases3306.sql
#========================================================================================================================================================
#方式二,先進入到docker在執(zhí)行mysqldump,然后再將導出的sql拷貝到宿主
#先進入docker
docker exec -it 0df568 /bin/bash
#可選的
source /etc/profile
#執(zhí)行導出命令
mysqldump -uroot -p123456 --databases dbA dbB > /root/all-databases3306.sql
#拷貝到宿主機器
#退出Docker,執(zhí)行exit命令
exit
#此時,已經(jīng)在宿主的環(huán)境,執(zhí)行拷貝命令,將sql文件從docker紅拷貝出來
docker cp 0df568:/root/all-databases3306.sql /root/all-databases3306.sql

2.拉取MySQL8.0.13的鏡像,完成安裝

拉取和安裝MySQL其實可以完全參考官網(wǎng)即可。參考網(wǎng)址:https://hub.docker.com/r/mysql/mysql-server/ ,這里再簡單的描述一下安裝的過程。

2.1 拉取鏡像到本地

運行下面的命令即可拉取最新的MySQL鏡像

 docker pull mysql/mysql-server:lastest

拉取指定的MySQL鏡像

#tag就是填寫你要的版本號,例如你想要的MySQL8.0.13那么tag就是8.0.13,則執(zhí)行:docker pull mysql/mysql-server:8.0.13
 docker pull mysql/mysql-server:tag

可以使用docker images查看你拉取下來的進行。

2.2 運行MySQL8.0.13鏡像

運行指定的MySQL8.0.13的Docker鏡像,我們在2.1步驟已經(jīng)拉取了指定的鏡像下來,那么可以通過docker images查看到本地的Docker鏡像,得到鏡像的ID和名字。接下來運行下列的命令運行MySQL8.0.13的Docker鏡像:

#--name指定運行啟動后的名字 -e 指定docker里的環(huán)境變量 -v 分區(qū)或者是目錄映射,docker的程序數(shù)據(jù)映射到宿主的指定位置 -p 指定 宿主到docker程序的端口映射 -d 指定鏡像的版本。
docker run --name=mysql8.0 -e MYSQL_ROOT_PASSWORD=123456 -v /root/dockerdata/mysql8.0/data:/var/lib/mysql -p 3307:3306 -dit mysql/mysql-server:8.0.13 

查看是否在運行

# 執(zhí)行下列的命令
docker ps

3.升級到MySQL8.X之后的一些問題

升級MySQL8.x后,遠程連接無法連接,這樣很不方便,需要進行修改。主要包括下面兩方面的配置:

3.1 提供遠程訪問

修改用戶為@'%',%代表所有的主機都可以連接,命令如下:

#先root登錄到數(shù)據(jù)庫,執(zhí)行下列的命令
#a.使用msyql
use mysql;
#b.然后執(zhí)行授權(quán)
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456'
#c.一定要刷新權(quán)限(重新加載),否則需要重啟MySQL才能生效
FLUSH PRIVILEGES;

3.2 更改連接的密碼校驗方式

MySQL8.X的加密方式是caching_sha2_password,caching_sha2_password加密方式在遠程訪問時候不支持,所以需要改成:mysql_native_password

# a.修改指定的用戶
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# b.一定要刷新權(quán)限(重新加載),否則需要重啟MySQL才能生效
FLUSH PRIVILEGES;

4.導入數(shù)據(jù)到新的MySQL中

導入數(shù)據(jù),我采用的方式是先將數(shù)據(jù)庫備份文件拷貝進新的Docker,然后再執(zhí)行導入命令。命令如下:

#拷貝備份的文件到docker中
docker cp /root/all-databases3306.sql 3sfsdf:/root/all-databases3306.sql 
#先進入docker環(huán)境,然后導入到數(shù)據(jù)庫
docker exec -it xxx /bin/bash
mysql -u root -p < /root/all-databases3306.sql

5.參考文檔

https://hub.docker.com/r/mysql/mysql-server/
https://bugs.mysql.com/bug.php?id=92675

總結(jié)

以上所述是小編給大家介紹的Docker版的MySQL5.7升級到MySQL8.0.13,數(shù)據(jù)遷移,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • docker?搭建?ElasticSearch過程解析

    docker?搭建?ElasticSearch過程解析

    這篇文章主要介紹了docker搭建ElasticSearch的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,,需要的朋友可以參考下
    2023-08-08
  • 在CentOS 7上安裝和使用Docker的方法步驟

    在CentOS 7上安裝和使用Docker的方法步驟

    Docker 是一個應用程序,它簡化了在容器中運行應用程序進程的過程,這些容器類似于虛擬機,但更加便攜、資源友好,并且更依賴于主機操作系統(tǒng),在本教程中,你將學習如何在現(xiàn)有的 CentOS 7 安裝上安裝并使用 Docker,需要的朋友可以參考下
    2024-07-07
  • Docker-compose 建立ELK集群的實現(xiàn)方法

    Docker-compose 建立ELK集群的實現(xiàn)方法

    這篇文章主要介紹了Docker-compose 建立ELK集群的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 使用Docker?Compose搭建部署ElasticSearch的配置過程

    使用Docker?Compose搭建部署ElasticSearch的配置過程

    Elasticsearch使用的是一種名為倒排索引的數(shù)據(jù)結(jié)構(gòu),這一結(jié)構(gòu)的設(shè)計可以允許十分快速地進行全文本搜索,本文重點給大家介紹使用Docker?Compose搭建部署ElasticSearch的配置過程,感興趣的朋友一起看看吧
    2022-02-02
  • 使用 Azure Container Registry 儲存鏡像的問題

    使用 Azure Container Registry 儲存鏡像的問題

    Azure Container Registry(容器注冊表)是基于 Docker Registry 2.0規(guī)范的托管專用 Docker 注冊表服務(wù)。這篇文章主要介紹了使用 Azure Container Registry 儲存鏡像,需要的朋友可以參考下
    2021-05-05
  • Docker 中快速安裝tensorflow環(huán)境的方法步驟

    Docker 中快速安裝tensorflow環(huán)境的方法步驟

    這篇文章主要介紹了Docker 中快速安裝tensorflow環(huán)境的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 蘑菇街 私有云Docker實例應用

    蘑菇街 私有云Docker實例應用

    這篇文章主要介紹了蘑菇街 私有云Docker實例應用的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • docker?swarm快速部署redis分布式集群的詳細過程

    docker?swarm快速部署redis分布式集群的詳細過程

    這篇文章主要介紹了docker?swarm快速部署redis分布式集群,只需要通過docker-compose.yml文件和一個啟動命令就完成redis分布式部署的方式,讓其分別部署在不同機器上,并實現(xiàn)集群搭建,需要的朋友可以參考下
    2022-10-10
  • docker 拉取鏡像出錯的問題解決

    docker 拉取鏡像出錯的問題解決

    當Docker拉取鏡像遇到網(wǎng)絡(luò)錯誤時,通常是因為鏡像源無法訪問,解決此問題可通過修改Docker的配置文件/etc/docker/daemon.json,設(shè)置一個可用的鏡像加速地址,修改后重新加載配置并重啟Docker服務(wù)即可,這樣可以提高拉取速度和成功率,避免因網(wǎng)絡(luò)問題導致的鏡像拉取失敗
    2024-10-10
  • Docker安裝部署Neo4j的保姆級教程

    Docker安裝部署Neo4j的保姆級教程

    本文主要介紹了Docker安裝部署Neo4j的保姆級教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08

最新評論