MySQL 5.5 資料庫備份與移動

由一台電腦上的 MySQL 備份後並還原於另外一台電腦,作為搬遷資料庫之用途,在這邊我們使用的是熱備份的做法,即 MySQL 的 server 運行中備份。

好處是不需要中斷 MySQL 服務,不過處理時間會比直接備份 (cp) 久一些。

  1. 首先在要備份的主機內下指令匯出資料庫,以下指令將所有資料庫備份為 backup.sql,注意 -p 與密碼間不可有空白。

     $ mysqldump -u root -proot --all-databases > backup.sql
    
  2. 將資料傳輸到新的 server 上,透過 scp 指令傳輸。盡量使用 /tmp 資料夾避免權限議題

  3. 在新的主機上,匯入資料庫

     $ mysql -u root -p < backup.sql
    
  4. 如果碰到 ERROR 1005 (HY000): Can't create table 'XXX' (errno: 13)。errno:13表示有權限議題

     $ chrown -R mysql:mysql /var/lib/mysql/
    
  5. 在新的主機上驗證資料庫是否可存取,如果可以看到資料庫表,表示已經成功還原

     $ mysql -u root -p     --> 輸入root 密碼
     >> SHOW DATABASES      --> 顯示所有資料庫
     >> USE 資料庫名稱       --> 使用該資料庫
     >> SHOW TABLES         --> 顯示資料庫表
    
  6. 如果有需求需要單獨匯出/匯入 database:

     - 匯出
     $ mysqldump -u [user_name] -p [database_name] > backup.sql
    
     - 匯入
     $ mysql -u [user_name] -p [target_database_name] < backup.sql
    

    說明: >:匯出 <:匯入 -u:mysql使用者 -p:待會需要密碼

  7. 新增移除 databases

    mysql> create database [database_name] ;
    mysql> drop database [database_name] ;
    

results matching ""

    No results matching ""