iT邦幫忙

DAY 23
4

只談MySQL系列 第 23

只談MySQL (第23天) Backup & Restore

今天先談MySQL的Backup & Restore
我知道還要談MySQL Administrator的Server Parameters, 但真的內容太多, 所以, Server Parameters只好再延一天...
MySQL的Backup & Restore真的很簡單, 進入MySQL Administrator, 到Backup頁面:

在Project Name輸入個名稱, 再選擇要備份的資料庫, 可同時備份多個資料庫, 也可以在右邊的Object裏, 點一下資料庫名稱的左邊的小三角形, 展開資料庫物件, 然後選擇要備份的物件, 這樣MySQL就會把所有選要備份的物件統統備份起來...按一下[Start Backup], 會出現選擇備份檔案的視窗:

檔案名稱也都給了, 在下方的入中.._20091104_2044.sql(其實就是年月日_時分), 附加檔名是.sql, 難不成可可以用來執行的SQL指令集? 沒錯...確定備份檔名後按下[OK], 過一陣子出現:

告訴你備份完成了...按[OK]就完成備份了...這時可以去按[Save Project], 把備份專案存起來以後再用.
接著到還原(Restore):

看到左下方的窗格[Backup File to Restore]中有剛才的_20091104_2044嗎? 點一下:

問你要用什麼字元集還原, 預設是UTF8, 也就UNICODE, 就按[OK]接受了....

告訴你要還原的檔案的內容, 一般來說, 會把還原的物件放到原來的Schema中, 也可以另外建一個新的Schema, 或選擇其他已經存在的資料庫(Schema, 你沒看錯, MySQL的資料庫就是Schema), 然後按一下[Selectin]頁面, 出現物件選擇視窗, 我們可以選擇要還原的物件...

選擇好要還原物件, 按一下[Restore Backup], 就一切搞定...
接下來, 我門來看看在Backup功能的[Advanced Options]中有些選擇項:

首先是[Backup Execution], 通常會選擇[Lock All Table]或[Normal Backup]. 接著是一個[Backup Selected Database Completely], 完整備份, 不管你怎麼選, 全部備下來就是. 然後是[Output File Options], 就是在產生的.sql備份檔案中, 要包含或不要包含的指令的選項.
最後, 我把MySQL的備份檔案_20091104_2044.sql內容的頭50行抄在下面給各位參考, 沒錯, 就是一堆可執行的SQL指令集:

-- MySQL Administrator dump 1.4
--
-- ------------------------------------------------------
-- Server version	5.1.32


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;


--
-- Create schema mysql
--

CREATE DATABASE IF NOT EXISTS mysql;
USE mysql;

--
-- Definition of table `mysql`.`columns_priv`
--

DROP TABLE IF EXISTS `mysql`.`columns_priv`;
CREATE TABLE  `mysql`.`columns_priv` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '',
  PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges';

--
-- Dumping data for table `mysql`.`columns_priv`
--

/*!40000 ALTER TABLE `columns_priv` DISABLE KEYS */;
LOCK TABLES `columns_priv` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `columns_priv` ENABLE KEYS */;


--

上一篇
只談MySQL (第22天) MySQL Administrator圖形管理介面程式續集
下一篇
只談MySQL (第24天) Startup Parameters
系列文
只談MySQL30

1 則留言

0
jojojjjo
iT邦新手 4 級 ‧ 2015-05-26 19:54:06

我公MYSQL的資料庫是用ahsay備份呀!詳細可以參考:
http://www.ahsay.com/jsp/tc/home/

我要留言

立即登入留言