Mysql完全備份和恢複

來源:互聯網
上載者:User

標籤:角度   物理   set   change   roo   schema   表結構   路徑   結構   

Mysql完全備份和恢複實驗介紹

Database Backup從物理與邏輯的角度劃分可以分為:物理備份、邏輯備份。從資料庫的備份策略角度,可以分為完全備份、差異備份、增量備份。這次實驗主要介紹完全備份,完全備份優點是備份與恢複操作簡單方便,缺點是資料存在大量的重複,佔用大量的備份空間,備份時間長。

Mysql完全備份1、使用tar打包檔案夾備份

Mysql的資料庫檔案預設都是儲存在安裝目錄下的data檔案夾下面,可以直接儲存data檔案夾。但是佔用的空間很大,可以使用tar打包壓縮排行儲存。由於資料庫檔案很大,可以直接使用壓縮率較大的xz格式壓縮,所以首先要安裝xz壓縮格式工具。

[[email protected] opt]# yum install xz -y

然後,對資料庫檔案夾/usr/local/mysql/data/進行打包操作。注意這裡使用tar工具打包,最好使用相對路徑,所以先切換至/usr/local/mysql目錄下,然後再打包。

[[email protected] opt]# cd /usr/local/mysql/[[email protected] mysql]# tar Jcf /opt/mysql-$(date +%F).tar.xz data/[[email protected] opt]# lsmysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql
2、使用mysqldump工具備份

(1)使用mysqldump命令對某些表完全備份,如,資料庫中有test的庫,裡面有一張yx的表。

mysql> show tables;+----------------+| Tables_in_test |+----------------+| yx             |+----------------+1 row in set (0.00 sec)mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || sys                || test               |+--------------------+5 rows in set (0.00 sec)

對test庫中的yx表進行備份。

[[email protected] opt]# mysqldump -u root -p test yx > /opt/yx1.sqlEnter password: [[email protected] opt]# lsmysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql  yx1.sql

(2)使用mysqldump命令對單個庫進行完全備份

[[email protected] opt]# mysqldump -u root -p test > /opt/test.sqlEnter password: [[email protected] opt]# lsmysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql  yx1.sql

(3)使用mysqldump命令對多個庫進行完全備份

[[email protected] opt]# mysqldump -u root -p --databases test mysql > /opt/test-mysql.sqlEnter password: [[email protected] opt]# lsmysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql

(4)使用mysqldump命令對所有資料庫完全備份

[[email protected] opt]# mysqldump -u root -p --all-databases > /opt/all.sqlEnter password: [[email protected] opt]# lsall.sql  mysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql

(5)使用mysqldump命令直接備份表結構

[[email protected] opt]# mysqldump -u root -p -d test yx > /opt/desc.sqlEnter password: [[email protected] opt]# lsall.sql  desc.sql  mysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql
Mysql完全恢複

在需要恢複庫的時候,可以使用source命令和mysql命令

1、source命令整庫恢複

上面我們已經對test庫進行了備份,現在我們刪除掉test庫,注意在恢複庫的時候,要先建立一個同名的庫,然後再恢複,否則會報錯。

mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || sys                || test               |+--------------------+5 rows in set (0.00 sec)mysql> drop database test;Query OK, 1 row affected (0.01 sec)mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || mysql              || performance_schema || sys                |+--------------------+mysql> create database test;Query OK, 1 row affected (0.00 sec)mysql> use test;Database changedmysql> show tables;Empty set (0.00 sec)mysql> use test;Database changedmysql> source /opt/test.sqlmysql> show tables;+----------------+| Tables_in_test |+----------------+| yx             |+----------------+1 row in set (0.00 sec)

test庫就恢複成功了。

2、Mysql命令整庫恢複

在使用Mysql命令恢複庫之前,同樣要先建立已經被刪除的空資料庫,否則會報錯,然後使用下面這條命令。

[[email protected] opt]# mysqldump -u root -p test < /opt/test.sqlmysql> show tables;+----------------+| Tables_in_test |+----------------+| yx             |

Mysql完全備份和恢複

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.