線上書籍

Home

VirtualBox

同 5-10 章節操作

  1. 先在 VirtualBox  的 VM 中再加一顆 1G 的硬碟

     
  2. 先將 /var/lib/mysql 目錄備份
    # service mysql stop
    # cd /var/lib
    #  tar zcvf mysql.tar.gz mysql/
    (mysql 資料庫暫時不用啟動)


     
  3. 先看原來 /var/lib/mysql 裡的檔案、目錄

     
  4. 將新增的 SATA 1G 建立分割表
    # ls -al /dev/sd*
    # fdisk /dev/sdc    ------> n , 連按4次 enter , w



     
  5. 將新增的 SATA 1G 格式化
    # ls -al /dev/sd*
    # mkfs.ext4 /dev/sdc1 -m0


     
  6. 將 /dev/sdc1 的 uuid 寫入 /etc/fstab  ,並 mount (掛載) 到 /var/lib/mysql
    1. 列出 /dev/sdc1 的 uuid
      # ls -al /dev/disk/by-uuid/ | grep sdc1
    2. 修改 /etc/fstab , 並加入這一行
      UUID=a567210d-d77f-4ce8-89a2-9a00c3e3253a   /var/lib/mysql  ext4  defaults  0  1
      # pico /etc/fstab
    3. # 讓剛剛加入的設定生效
      # mount -a
    4. 查看目前硬碟掛載的情況
      # df -h

       
  7. 再看現在 /var/lib/mysql 裡的檔案、目錄,現在 /var/lib/mysql 是空的。
    原來的內容並未消失,只是被 新硬碟 暫時取代,
    只要 # umount /var/lib/mysql  ( 也就是把 /dev/sdc1  umount ) 就會回復原來的內容。
    回復原來的內容後,要再重新掛載,可以 # mount -a  或是重開機都可以。


     
  8. 剛剛將原來的 /var/lib/mysql 備份的檔案還原到新的硬碟(已經 mount 在 /var/lib/mysql )
    並重新啟動 mysql
     
    1. 切換到 /var/lib/mysql 目錄
      # cd /var/lib/mysql
    2. 查看目前 /var/lib/mysql 的內容
      # ls
    3. 將 lost+found/ 目錄刪除(用不到)
      # rm lost+fount/ -rf
    4. 將原來打包備份的 mysql.tar.gz 在此解壓縮
      # tar zxvf ../mysql.tar.gz
    5. 查看目前 /var/lib/mysql 的內容
      # ls
    6. 因為解壓縮後的 mysql 目錄無法直接搬移,所以先暫時更名為其他的名稱
      # mv mysql tmmp
    7. 進入 tmmp 目錄
      # cd tmmp
    8. 確認 目前 tmmp 目錄的內容
      # ls
    9. 將 在這個目錄裡的所有檔案搬移到上一層目錄,也就是 /var/lib/mysql 目錄
      # mv * ..
    10. 回到上一層目錄
      # cd ..
    11. 刪除暫存目錄 tmmp
      # rmdir tmmp
    12. 查看目前 /var/lib/mysql 的內容
      # ls
    13. 啟動 mysql 
      # service mysql start



       
  9. 以後要備份時,除了可以以原來的備份方式備份外,還可以在 實體機上直接將 ACFS-mysql.vdi 備份起來,需要還原時只要把這個檔案直接替換即可。