導(dǎo)出數(shù)據(jù)庫數(shù)據(jù)
mysqldump -uroot -p dp_db > dumpout.sql
其中 root是賬戶名
dp_db是需要導(dǎo)出的數(shù)據(jù)庫名稱
dumpout.sql存儲導(dǎo)出的數(shù)據(jù)將導(dǎo)出的數(shù)據(jù)dumpout.sql放到你的目標(biāo)機(jī)器上(如果是遠(yuǎn)程目標(biāo)機(jī)器的話偏陪,直接將dunmpout.sql copy到目標(biāo)機(jī)器就行)艾蓝。這里假設(shè)cp到主目錄下~/
在目標(biāo)機(jī)器的數(shù)據(jù)庫里建立新數(shù)據(jù)庫颁井,這里建立名為dp_db_bak的數(shù)據(jù)庫
mysql> create database dp_db_bak向dp_db_bak數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)
mysql -uroot -p dp_db_bak < ~/dumpout.sql
其中 root是賬戶名
db_db_bak是新數(shù)據(jù)庫
~/dumpout.sql是第一步導(dǎo)出的數(shù)據(jù)
P.S. 如果在導(dǎo)入導(dǎo)出數(shù)據(jù)的時(shí)候遇到文件太大異常退出的情況敢课,可使用split/cat來進(jìn)行文件的分割和合并
mysqldump -uroot -p dp_db | split -b 10m - tempfile
cat all_tempfile > targetfile
其他方法:
Mysql source命令在導(dǎo)入大數(shù)據(jù)時(shí)顯得非常有用。雖然Mysql Administrator軟件也不錯(cuò)负蠕,但就穩(wěn)定性和效率性來說還是source占優(yōu)。使用方法:Windows下將sql數(shù)據(jù)庫備份拷貝到磁盤目錄如:D:\db.sql,cmd進(jìn)入命令行构资。1、先使用命令mysql -uroot -p登陸mysql服務(wù)器2陨簇、然后執(zhí)行相關(guān)命令導(dǎo)入數(shù)據(jù)吐绵。
mysql> use dbtest; //設(shè)置當(dāng)前要導(dǎo)入數(shù)據(jù)的dbtest數(shù)據(jù)庫 mysql> set names utf8; //設(shè)置編碼 mysql> source D:\db.sql; //導(dǎo)入數(shù)據(jù)ok朴则,完成牲剃。當(dāng)然數(shù)據(jù)庫備份用Mysql Administrator是非常方便的
Mysql導(dǎo)出表結(jié)構(gòu)及表數(shù)據(jù) mysqldump用法 命令行下具體用法如下: mysqldump -u用戶名 -p密碼 -d 數(shù)據(jù)庫名 表名 腳本名; 1疮鲫、導(dǎo)出數(shù)據(jù)庫為dbname的表結(jié)構(gòu)(其中用戶名為root,密碼為dbpasswd,生成的腳本名為db.sql) mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2粤剧、導(dǎo)出數(shù)據(jù)庫為dbname某張表(test)結(jié)構(gòu) mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3槽唾、導(dǎo)出數(shù)據(jù)庫為dbname所有表結(jié)構(gòu)及表數(shù)據(jù)(不加-d) mysqldump -uroot -pdbpasswd dbname >db.sql; 4罢洲、導(dǎo)出數(shù)據(jù)庫為dbname某張表(test)結(jié)構(gòu)及表數(shù)據(jù)(不加-d) mysqldump -uroot -pdbpasswd dbname test>db.sql;指定分隔符導(dǎo)出數(shù)據(jù)(貌似必須在本機(jī)才能正常執(zhí)行)饱普,步驟:1. cd /tmp2. mkdir mysqldata3. chown mysql:mysql mysqldata4. mysqldump -h127.0.0.1 -uroot -p123456 -T/mysqldata/ --fields-terminated-by=@@, dbname tablename