天天看點

Linux下MySQL資料庫的備份與還原,mysql快速導入導出資料庫執行個體示範,解決mysql大資料量資料庫導出慢的問題

MySQL 資料庫的備份與還原

  • ​​第一章:資料庫的導入與導出​​
  • ​​① 資料庫的導出​​
  • ​​② 大資料量下 mysqldump 的導出優化​​
  • ​​③ 資料庫的導出​​

第一章:資料庫的導入與導出

① 資料庫的導出

需要用到 mysqldump 這個程式,在 mysql 安裝路徑下的 bin 檔案夾下。

Linux下MySQL資料庫的備份與還原,mysql快速導入導出資料庫執行個體示範,解決mysql大資料量資料庫導出慢的問題

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';      
Linux下MySQL資料庫的備份與還原,mysql快速導入導出資料庫執行個體示範,解決mysql大資料量資料庫導出慢的問題
Linux下MySQL資料庫的備份與還原,mysql快速導入導出資料庫執行個體示範,解決mysql大資料量資料庫導出慢的問題

優化後的 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 的位置生成了備份檔案。

Linux下MySQL資料庫的備份與還原,mysql快速導入導出資料庫執行個體示範,解決mysql大資料量資料庫導出慢的問題

③ 資料庫的導出

導入資料庫用 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: