MySQL 5.5 資料庫備份與移動
由一台電腦上的 MySQL 備份後並還原於另外一台電腦,作為搬遷資料庫之用途,在這邊我們使用的是熱備份的做法,即 MySQL 的 server 運行中備份。
好處是不需要中斷 MySQL 服務,不過處理時間會比直接備份 (cp) 久一些。
首先在要備份的主機內下指令匯出資料庫,以下指令將所有資料庫備份為 backup.sql,注意 -p 與密碼間不可有空白。
$ mysqldump -u root -proot --all-databases > backup.sql
將資料傳輸到新的 server 上,透過 scp 指令傳輸。盡量使用 /tmp 資料夾避免權限議題
在新的主機上,匯入資料庫
$ mysql -u root -p < backup.sql
如果碰到 ERROR 1005 (HY000): Can't create table 'XXX' (errno: 13)。errno:13表示有權限議題
$ chrown -R mysql:mysql /var/lib/mysql/
在新的主機上驗證資料庫是否可存取,如果可以看到資料庫表,表示已經成功還原
$ mysql -u root -p --> 輸入root 密碼 >> SHOW DATABASES --> 顯示所有資料庫 >> USE 資料庫名稱 --> 使用該資料庫 >> SHOW TABLES --> 顯示資料庫表
如果有需求需要單獨匯出/匯入 database:
- 匯出 $ mysqldump -u [user_name] -p [database_name] > backup.sql - 匯入 $ mysql -u [user_name] -p [target_database_name] < backup.sql
說明: >:匯出 <:匯入 -u:mysql使用者 -p:待會需要密碼
新增移除 databases
mysql> create database [database_name] ; mysql> drop database [database_name] ;