mysqldump -P 3010 -h 130.51.2.24 -uroot -proot zplatdb > backup.sql
恢復到我本機,由於我本機沒有設置密碼,密碼是空的,-p那裡不知道怎麼填
mysql –u root –p*** zplatdb< c:\backup.sql
其實這樣就可以了:
mysql –u root zplatdb< c:\backup.sql
另外,還可以用source命令,更簡單,但是時間比mysqldump要慢不少:
首先登錄mysql,
mysql>use zplatdb
mysql>source c:\backup.sql
注意,備份文件放在C盤,如果報錯,嘗試把斜槓去掉,c:backup.sql。
這樣恢復後,會發現沒有恢復函數和存儲過程!
注意:備份文件backup.sql其實都是sql腳本,可以直接打開看的,你可以搜索一下,裡面全是table的語句,並沒有function!
原因出在備份時的問題。如果要備份函數需要這樣:
mysqldump -P 3010 -h 130.51.2.24 -uroot -proot zplatdb -R > backup.sql
-R表示同時備份表和函數存儲過程。
source是沒有問題的,可以同樣恢復函數和存儲過程。
幫助:
mysqldump –help
參考:
http://www.Bkjia.com/database/201211/168571.html
除了命令,也可使用工具。比如我的客戶端使用SQLyog。裡面一般都有導入導出。
有工具,肯定用工具方便很多,直接選一下,不需要記住繁瑣的參數。
仔細比較一下,命令和工具輸出的sql是不太一樣,工具更全面,比如沒有這個db會自動創建,而命令裡一般是沒有的。
CREATE DATABASE /*!32312 IF NOT EXISTS*/`zplatdb` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `zplatdb`;
但是命令裡有詳細的數據庫版本信息,這個SQLyog裡沒有:
-- MySQL dump 10.14 Distrib 5.5.43-MariaDB, for Linux (x86_64)