Select Page

MySQL, MariaDB, 整個資料庫的複製方法

如果你想一次複製所有的資料,包括用戶數據和結構,你可以使用以下方法:

1.使用 mysqldump 進行完整備份:

mysqldump 可以用來備份整個 MariaDB 數據庫,包括資料表結構和數據。以下是備份和還原的步驟:

首先到原始主機上

mysqldump -u root -p --all-databases > full_backup.sql

這時候你會取得 full_backup.sql 檔案,將此檔案複製到目標主機上頭

並且到目標主機上做還原的動作

mysql -u root -p < full_backup.sql

2.用外部程式直接複製 MariaDB 資料庫

可以用 Percona XtraBackup , 安裝方法可以看 https://docs.percona.com/percona-xtradb-cluster/8.0/apt.html#prerequisites

備份指令如下:

innobackupex --user=root --password=your_password /path/to/backup_directory

還原指令如下

innobackupex --copy-back /path/to/backup_directory

3.複製用戶資訊

備份以及還原完資料後,要記得把用戶資料也都一起複製過來,首先用 root 或是管理員等級的帳號登入,並且下面的執行指令,把用戶資訊匯出

mysqldump -u root -pYourPassword -R --databases mysql > user_backup.sql

注意 -p 後面直接跟著密碼,中間不能有空格。

還原用戶資訊

SOURCE /path/to/user_backup.sql;

結論

這將在新主機上創建與原始主機相同的用戶帳號、密碼和許可權,以及把之前的所有資料複製到新主機上面。請確保新主機上的 MariaDB 版本與原始主機上的版本相容,並且新主機的網絡設置和防火牆規則允許用戶連接。

參考資訊