婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Docker版的MySQL5.7升級到MySQL8.0.13,數據遷移

Docker版的MySQL5.7升級到MySQL8.0.13,數據遷移

熱門標簽:山東企業外呼系統公司 400電話號碼辦理多少錢 靈圖uu電子寵物店地圖標注 虛假地圖標注 濮陽好的聯通400電話申請 百度地圖標注公司位置要多少錢 地圖標注黃河的位置 承德地圖標注公司 地圖標注如何改成微信號

1.備份舊的MySQL5.7的數據

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

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

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

拉取和安裝MySQL其實可以完全參考官網即可。參考網址: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,則執行: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步驟已經拉取了指定的鏡像下來,那么可以通過docker images查看到本地的Docker鏡像,得到鏡像的ID和名字。接下來運行下列的命令運行MySQL8.0.13的Docker鏡像:

#--name指定運行啟動后的名字 -e 指定docker里的環境變量 -v 分區或者是目錄映射,docker的程序數據映射到宿主的指定位置 -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 

查看是否在運行

# 執行下列的命令
docker ps

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

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

3.1 提供遠程訪問

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

#先root登錄到數據庫,執行下列的命令
#a.使用msyql
use mysql;
#b.然后執行授權
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456'
#c.一定要刷新權限(重新加載),否則需要重啟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.一定要刷新權限(重新加載),否則需要重啟MySQL才能生效
FLUSH PRIVILEGES;

4.導入數據到新的MySQL中

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

#拷貝備份的文件到docker中
docker cp /root/all-databases3306.sql 3sfsdf:/root/all-databases3306.sql 
#先進入docker環境,然后導入到數據庫
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

總結

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

標簽:福州 淮安 泰安 樂山 安康 上海 德宏 鷹潭

巨人網絡通訊聲明:本文標題《Docker版的MySQL5.7升級到MySQL8.0.13,數據遷移》,本文關鍵詞  Docker,版的,MySQL5.7,升級,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker版的MySQL5.7升級到MySQL8.0.13,數據遷移》相關的同類信息!
  • 本頁收集關于Docker版的MySQL5.7升級到MySQL8.0.13,數據遷移的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 甘泉县| 大关县| 新竹市| 海安县| 彰化市| 定结县| 田东县| 衡阳县| 吴旗县| 区。| 上虞市| 通江县| 九寨沟县| 文山县| 福清市| 新安县| 繁峙县| 普格县| 马龙县| 龙门县| 连城县| 南皮县| 泰宁县| 诸城市| 上林县| 梁山县| 嘉义县| 深水埗区| 新竹市| 甘孜县| 共和县| 文安县| 井冈山市| 肇庆市| 海晏县| 法库县| 兴仁县| 乃东县| 房产| 平远县| 凤凰县|