MySQL 資料庫的備份與還原
-
- 第一章:資料庫的導入與導出
- ① 資料庫的導出
- ② 大資料量下 mysqldump 的導出優化
- ③ 資料庫的導出
第一章:資料庫的導入與導出
① 資料庫的導出
需要用到 mysqldump 這個程式,在 mysql 安裝路徑下的 bin 檔案夾下。
cd 在哪個路徑下執行指令,最後的 sql 備份檔案就在哪裡生成。
"/usr/local/mysql-8.0.11/bin/mysqldump" -uroot -p ncc_0807mysql > ncc_0807mysql.sql
[root@localhost ~]# cd /usr/local/mysql-8.0.11/
[root@localhost mysql-8.0.11]# "/usr/local/mysql-8.0.11/bin/mysqldump" -uroot -p ncc_0807mysql > ncc_0807mysql.sql
Enter password:
輸入完密碼不報錯就開始導庫了,等待導完庫自己會跳出來。
[root@localhost mysql-8.0.11]#
② 大資料量下 mysqldump 的導出優化
mysql 資料庫導出優化
如果資料量很大的話,導出可能要幾個小時,我們稍微優化一下,就會快很多。
先通過下面的語句查詢出兩個值。
show variables like 'max_allowed_packet';
show variables like 'net_buffer_length';
優化後的 sql 語句如下,就是後面加兩個參數,帶上我們查出來的值。
"/usr/local/mysql-8.0.11/bin/mysqldump" -uroot -p ncc_0807mysql > ncc_0807mysql.sql --max_allowed_packet=67108864 --net_buffer_length=16384
生成後效果圖如下,可以看到在我 cd 的位置生成了備份檔案。
③ 資料庫的導出
導入資料庫用 mysql 指令就可以了。
"/usr/local/mysql-8.0.11/bin/mysql" -uroot -p ncc_0901mysql < ncc_0807mysql.sql
同樣等待執行完成就可以了。
[root@localhost ~]# cd /usr/local/mysql-8.0.11/
[root@localhost mysql-8.0.11]# "/usr/local/mysql-8.0.11/bin/mysql" -uroot -p ncc_0901mysql < ncc_0807mysql.sql
Enter password: