国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql完全備份和恢復

2024-07-24 12:36:00
字體:
來源:轉載
供稿:網友
  Mysql完全備份和恢復
  實驗介紹
  數據庫備份從物理與邏輯的角度劃分可以分為:物理備份、邏輯備份。從數據庫的備份策略角度,可以分為完全備份、差異備份、增量備份。這次實驗主要介紹完全備份,完全備份優點是備份與恢復操作簡單方便,缺點是數據存在大量的重復,占用大量的備份空間,備份時間長。
 
  Mysql完全備份
  1、使用tar打包文件夾備份
  Mysql的數據庫文件默認都是保存在安裝目錄下的data文件夾下面,可以直接保存data文件夾。但是占用的空間很大,可以使用tar打包壓縮進行保存。由于數據庫文件很大,可以直接使用壓縮率較大的xz格式壓縮,所以首先要安裝xz壓縮格式工具。
 
  [root@localhost opt]# yum install xz -y
  然后,對數據庫文件夾/usr/local/mysql/data/進行打包操作。注意這里使用tar工具打包,最好使用相對路徑,所以先切換至/usr/local/mysql目錄下,然后再打包。
 
  [root@localhost opt]# cd /usr/local/mysql/
  [root@localhost mysql]# tar Jcf /opt/mysql-$(date +%F).tar.xz data/
  [root@localhost opt]# ls
  mysql-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表進行備份。
 
  [root@localhost opt]# mysqldump -u root -p test yx > /opt/yx1.sql
  Enter password:
  [root@localhost opt]# ls
  mysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql  yx1.sql
  (2)使用mysqldump命令對單個庫進行完全備份
 
  [root@localhost opt]# mysqldump -u root -p test > /opt/test.sql
  Enter password:
  [root@localhost opt]# ls
  mysql-2018-07-02.tar.xz  mysql-5.7.17  test.sql  yx1.sql
  (3)使用mysqldump命令對多個庫進行完全備份
 
  [root@localhost opt]# mysqldump -u root -p --databases test mysql > /opt/test-mysql.sql
  Enter password:
  [root@localhost opt]# ls
  mysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql
  (4)使用mysqldump命令對所有數據庫完全備份
 
  [root@localhost opt]# mysqldump -u root -p --all-databases > /opt/all.sql
  Enter password:
  [root@localhost opt]# ls
  all.sql  mysql-2018-07-02.tar.xz  mysql-5.7.17  test-mysql.sql  test.sql  yx1.sql
  (5)使用mysqldump命令直接備份表結構
 
  [root@localhost opt]# mysqldump -u root -p -d test yx > /opt/desc.sql
  Enter password:
  [root@localhost opt]# ls
  all.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 changed
  mysql> show tables;
  Empty set (0.00 sec)
 
  mysql> use test;
  Database changed
  mysql> source /opt/test.sql
 
  mysql> show tables;
  +----------------+
  | Tables_in_test |
  +----------------+
  | yx             |
  +----------------+
  1 row in set (0.00 sec)
  test庫就恢復成功了。
 
  2、Mysql命令整庫恢復
  在使用Mysql命令恢復庫之前,同樣要先創建已經被刪除的空數據庫,否則會報錯,然后使用下面這條命令。
 
  [root@localhost opt]# mysqldump -u root -p test < /opt/test.sql
  mysql> show tables;
  +----------------+
  | Tables_in_test |
  +----------------+
  | yx             |

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰原市| 玛多县| 吴川市| 庐江县| 巧家县| 塔河县| 桃源县| 丹江口市| 新干县| 文水县| 泸溪县| 白银市| 阿拉善右旗| 昌吉市| 靖宇县| 福建省| 秦皇岛市| 饶河县| 亚东县| 尤溪县| 天等县| 历史| 上犹县| 阿拉善左旗| 海丰县| 睢宁县| 临高县| 上饶县| 济宁市| 宽甸| 枝江市| 凤庆县| 曲沃县| 旌德县| 清水河县| 武功县| 资源县| 略阳县| 麻栗坡县| 廊坊市| 杭锦后旗|