VirtualBox
同 5-10 章節操作
- 先在 VirtualBox 的 VM 中再加一顆 1G 的硬碟
- 先將 /var/lib/mysql 目錄備份
# service mysql stop
# cd /var/lib
# tar zcvf mysql.tar.gz mysql/
(mysql 資料庫暫時不用啟動)
- 先看原來 /var/lib/mysql 裡的檔案、目錄
- 將新增的 SATA 1G 建立分割表
# ls -al /dev/sd*
# fdisk /dev/sdc ------> n , 連按4次 enter , w
- 將新增的 SATA 1G 格式化
# ls -al /dev/sd*
# mkfs.ext4 /dev/sdc1 -m0
- 將 /dev/sdc1 的 uuid 寫入 /etc/fstab ,並 mount (掛載) 到 /var/lib/mysql
- 列出 /dev/sdc1 的 uuid
# ls -al /dev/disk/by-uuid/ | grep sdc1 - 修改 /etc/fstab , 並加入這一行
UUID=a567210d-d77f-4ce8-89a2-9a00c3e3253a /var/lib/mysql ext4 defaults 0 1
# pico /etc/fstab - # 讓剛剛加入的設定生效
# mount -a - 查看目前硬碟掛載的情況
# df -h
- 列出 /dev/sdc1 的 uuid
- 再看現在 /var/lib/mysql 裡的檔案、目錄,現在 /var/lib/mysql 是空的。
原來的內容並未消失,只是被 新硬碟 暫時取代,
只要 # umount /var/lib/mysql ( 也就是把 /dev/sdc1 umount ) 就會回復原來的內容。
回復原來的內容後,要再重新掛載,可以 # mount -a 或是重開機都可以。
- 剛剛將原來的 /var/lib/mysql 備份的檔案還原到新的硬碟(已經 mount 在 /var/lib/mysql )
並重新啟動 mysql
- 切換到 /var/lib/mysql 目錄
# cd /var/lib/mysql - 查看目前 /var/lib/mysql 的內容
# ls - 將 lost+found/ 目錄刪除(用不到)
# rm lost+fount/ -rf - 將原來打包備份的 mysql.tar.gz 在此解壓縮
# tar zxvf ../mysql.tar.gz - 查看目前 /var/lib/mysql 的內容
# ls - 因為解壓縮後的 mysql 目錄無法直接搬移,所以先暫時更名為其他的名稱
# mv mysql tmmp - 進入 tmmp 目錄
# cd tmmp - 確認 目前 tmmp 目錄的內容
# ls - 將 在這個目錄裡的所有檔案搬移到上一層目錄,也就是 /var/lib/mysql 目錄
# mv * .. - 回到上一層目錄
# cd .. - 刪除暫存目錄 tmmp
# rmdir tmmp - 查看目前 /var/lib/mysql 的內容
# ls - 啟動 mysql
# service mysql start
- 切換到 /var/lib/mysql 目錄
- 以後要備份時,除了可以以原來的備份方式備份外,還可以在 實體機上直接將 ACFS-mysql.vdi 備份起來,需要還原時只要把這個檔案直接替換即可。