Mariadb

來自遠端mariadb10.3 galera 的mariabackup |’/var/lib/mysql/’ (Errcode: 2 ‘No such file or directory’)

  • November 9, 2020

以下設置適用:

  • docker中的3節點galera集群
  • 應該執行 mariabackup 以從 galera 集群中獲取數據的備份容器
  • 網路很好。備份容器可以 ping galera
  • mariadb/mariabackup 版本 10.3
  • 備份容器僅安裝了 mariabackup。

我使用的命令

mariabackup --backup --host=<service_name> --port=3306 --user=root --password=<pass> --target-dir=/backup

當嘗試從備份容器中的 galera-cluster 備份時,我收到以下錯誤

00] 2019-09-15 23:38:34 Connecting to MySQL server host: mdb_mariadb, user: root, password: set, port: 3306, socket: /var/run/mysqld/mysqld.sock
[00] 2019-09-15 23:38:34 Using server version 10.3.18-MariaDB-1:10.3.18+maria~bionic-log
[00] 2019-09-15 23:38:34 Warning: option 'datadir' points to nonexistent directory '/var/lib/mysql/'
[00] 2019-09-15 23:38:34 Warning: MySQL variable 'datadir' points to nonexistent directory '/var/lib/mysql/'
[00] 2019-09-15 23:38:34 Warning: option 'datadir' has different values:
 '/var/lib/mysql/' in defaults file
 '/var/lib/mysql/' in SHOW VARIABLES
mariabackup based on MariaDB server 10.3.18-MariaDB debian-linux-gnu (x86_64)
[00] 2019-09-15 23:38:34 uses posix_fadvise().
mariabackup: Can't change dir to '/var/lib/mysql/' (Errcode: 2 "No such file or directory")
[00] 2019-09-15 23:38:34 my_setwd() failed , /var/lib/mysql/

我嘗試了什麼。

  • 研究各種要點以尋找線索
  • 研究伺服器安裝提供的 mariadb 腳本
  • 嘗試不同的選項組合,但總是相同的錯誤。

問題:

  • 有沒有人進行遠端備份,可以告訴我你是如何成功的?
  • 方法是否錯誤,是否有更好的方法可以每天進行一次熱備份並在白天進行增量備份?

錯誤的方法 -mariabackup不是為遠端工作而設計的。另見MDEV-15075

所以你需要mariabackup在集群中的一個節點上本地執行。

為了防止備份減慢集群速度,您可以通過執行以下操作阻止節點參與流控制並使其落後於其他節點:

SET GLOBAL wsrep_desync=ON;  

備份完成後,您可以執行以下操作:

SET GLOBAL wsrep_desync=OFF;

(參見MariaDB 知識庫中的wsrep_desync 。)

顯然,在執行備份時不要將任何數據庫流量導向節點。

引用自:https://dba.stackexchange.com/questions/248835