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 版本與原始主機上的版本相容,並且新主機的網絡設置和防火牆規則允許用戶連接。

參考資訊

EXCEL-欄位內要填寫MD5加密字串

EXCEL-欄位內要填寫MD5加密字串

偶而會需要將手上蒐集到的會員資料轉成會員資料的SQL語法,其中密碼通常是需要加密再寫入的,因為EXCEL沒有內建加解密服務,當然可以去買擴充套件,但身為RD,要自己來開發一下,可以打開EXCEL中的開發人員模式,並且將下列程式碼,複製貼上後,就可以直接在欄位中把函式當作公式來使用。

Function StringToMD5Hex(ByVal s As String) As String
Dim enc As Object
Dim bytes() As Byte
Dim pos As Long
Dim outstr As String

Set enc = CreateObject("System.Security.Cryptography.MD5CryptoServiceProvider")

bytes = StrConv(s, vbFromUnicode)
bytes = enc.ComputeHash_2(bytes)

For pos = LBound(bytes) To UBound(bytes)
   outstr = outstr & LCase(Right("0" & Hex(bytes(pos)), 2))
Next pos

StringToMD5Hex = outstr
Set enc = Nothing
End Function

在欄位中當作公式直接使用

=StringToMD5Hex("string to hash")
=StringToMD5Hex(A2)

程式碼要放在開發人員的Visual Basic中

並且檔案格式要是 *.xlsm ,有啟用巨集功能的活頁簿

開啟 Visual Basic 編輯器後,要選取 Module1 也就是寫巨集的地方,然後把程式碼複製上去就可以用了