top
Loading...
2.10.3.將MySQL數據庫拷貝到另一臺機器
2.10.3. 將MySQL數據庫拷貝到另一臺機器

你可以在支持相同浮點格式的不同架構之間為MyISAM表復制.frm.MYI.MYD文件。(MySQL關注所有字節交換問題)請參見15.1節,“MyISAM存儲引擎”。

如果你需要在不同的架構之間轉移數據庫,可以使用mysqldump創建含有SQL語句的文件。然后你可以將文件轉移到其它機器上,并將它輸入到MySQL客戶端。

使用mysqldump --help來看有哪些選項可用。如果你正將數據移動到更新版本的MySQL,你應當使用mysqldump opt利用各種優化性能來產生更小、可以更快處理的轉儲文件。

在兩臺機器之間移動數據庫的最簡單(盡管不是最快)的方法是在數據庫所在的機器上運行下面的命令:

shell> mysqladmin -h 'other_hostname' create db_name
shell> mysqldump --opt db_name | mysql -h 'other_hostname' db_name

如果你想要從遠程機器通過慢速網絡復制數據庫,可以使用:

shell> mysqladmin create db_name
shell> mysqldump -h 'other_hostname' --opt --compress db_name | mysql db_name

還可以將結果保存到文件中,然后將文件轉移到目標機器上并將文件裝載到數據庫中。例如,可以在源機器上使用下面的命令將數據庫備份到文件中:

shell> mysqldump --quick db_name | gzip > db_name.contents.gz

(該例子中創建的文件是壓縮格式)將含有數據庫內容的文件到目標機上并運行命令:

shell> mysqladmin create db_name
shell> gunzip < db_name.contents.gz | mysql db_name

還可以使用mysqldumpmysqlimport來轉移數據庫。對于大的表,比只是使用mysqldump要快得多。在下面的命令中,DUMPDIR代表用來保存mysqldump輸出的目錄全路徑名。

首先,創建保存輸出文件的目錄并備份數據庫:

shell> mkdir DUMPDIR
shell>mysqldump --tab=DUMPDIR db_name

然后將DUMPDIR目錄中的文件轉移到目標機上相應的目錄中并將文件裝載到MySQL

shell> mysqladmin create db_name           # create database
shell> cat DUMPDIR/*.sql | mysql db_name   # create tables in database
shell> mysqlimport db_name DUMPDIR/*.txt   # load data into tables

不要忘記復制MySQL數據庫,因為授權表保存在該數據庫中。你可能需要在新機器上用MySQL root用戶運行命令,直到產生MySQL數據庫。

mysql數據庫導入目標機器后,執行mysqladmin flush-privileges,以便服務器重載授權表信息。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/installing.html
北斗有巢氏 有巢氏北斗