by Rain Chu | 1 月 3, 2024 | MariaDB , SERVER , SQL , 資料庫
如果你想一次複製所有的資料,包括用戶數據和結構,你可以使用以下方法:
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 版本與原始主機上的版本相容,並且新主機的網絡設置和防火牆規則允許用戶連接。
參考資訊
by Rain Chu | 10 月 24, 2022 | EXCEL , Microsoft , Office
偶而會需要將手上蒐集到的會員資料轉成會員資料的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 也就是寫巨集的地方,然後把程式碼複製上去就可以用了
by Rain Chu | 6 月 9, 2022 | wordpress
常常對 wordpress 又愛又恨,這麼多年了,還是會把絕對路徑寫在資料庫中,每次要交付網站給客戶的時候,總是會遇到變更網址的需求,並且目前沒有很好的方法可以快速地修正,這邊先記錄如何透過資料庫管理程式 phpmyadmin 去修正所有在資料庫中的網址。
1.進入DB管理程式,搜尋舊的網址
這個步驟可以找出所有在DB中擁有舊網址的資料表,當然你可以自己一個一個資料表的點開來改,但好方法還是下 SQL CMD 去快速且大量的修正
2. SQL CMD 大量修改網址
原則上有三個表一定會需要修正, wp_options, wp_postmeta, wp_posts ,其他的資料表,就需要依靠第一步驟搜尋舊網址,找出尚未修正的資料表,然後再回來撰寫 SQL CMD
UPDATE wp_options SET option_value = REPLACE(option_value, 'old', 'new') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'old', 'new');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'old', 'new');
UPDATE wp_posts SET guid = REPLACE(guid, 'old', 'new');
近期留言