前言
要用到 DATA TYPE JSON 時發現目前 mariaDB 版本不足,原本 10.1.48,
要到 10.2.3 才可以儲存 JSON 資料型態,快速記錄一下如何升級。
正文
我發現我有地方搞混了,來補充一下資料,
備份有兩種方法複製資料
- mysqldump (mysql or mariaDB 都適用)
- mariaDB 的 mariabackup
---1,2 擇一方式備份即可---
資料庫備份&重新下載 mariaDB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| 儲存備份的資料 1. 用mysqldump來備份 => 匯出一sql文檔 $ mysqldump -uroot -p --all-databases > backup.sql
2. 用mariabackup來備份 => 匯出一大包/backup folder #sudo mariabackup --backup -u<username> -p<password> --target-dir=/path/to/save/backup $ sudo mariabackup --backup -uroot -proot --target-dir=/home/avery_yc/backup/
要恢復備份前要先準備它,讓它變成可以restore到DB $ sudo mariabackup --prepare --target-dir=/home/avery_yc/backup/
--------重新下載mariadb的部分---------- 停止原本在運作的mariadb $ sudo systemctl stop mariadb
刪除原本的mariadb $ sudo apt-get remove mariadb-server
重新下載mariadb,指定版本10.5 $ sudo apt install wget $ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup $ chmod +x mariadb_repo_setup $ sudo ./mariadb_repo_setup --mariadb-server-version="mariadb-10.5"
$ sudo apt update $ sudo apt install mariadb-server mariadb-backup $ sudo mariadb-upgrade
此時查看mariadb狀態已經是啟動的了 ⇒ $ sudo systemctl status mariadb
如果還沒啟動執行 => $ sudo systemctl start mariadb ---------重新下載mariadb的部分-----------
1. mysqldump還原備份的資料 $ mysql -uroot -p < backup.sql
2. mariabackup還原備份的資料 $ mariabackup --copy-back \ --target-dir=/home/avery_yc/backup/
更改/backup權限 $ chown -R mysql:mysql /var/lib/mysql/
|
為什麼要更改權限??here
=> 大概感覺:mysql 需要自己的 user ID(mysql) & Group ID(mysql) 且會創造自己的目錄,如果使用別人的 user ID & Group ID mysql 會 error
成功升級成 10.5 了
我先升級 slave 再 master
都是一樣的步驟,升級成功之後也檢查是否還有 slave & master 的關係。
檢查
show slave status \G
slave GOOD
show master status
master GOOD
心得
其實實作起來蠻快的,但在升級前還是要有一顆大膽的心,因為是已經在運作的 database,所以操作時小心翼翼,還好 survey 後一次就成功了,熱騰騰的記錄下來。
資料來源
“chown mysql:mysql /data/tmp” command [closed]
[Mariabackup] : Full Backup and Restore with Mariabackup
How to Upgrade MariaDB in Ubuntu 18.04 LTS
[Mysqldump] : 備份&還原資料庫 – 指令範例
sudo mysqldump : Permission denied
查詢已安裝的 MySQL / MariaDB 版本
Author:
Chi Lin
Permalink:
https://chiderlin.github.io/2022/07/29/mariadb-version-upgrade/
License:
Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?