最近需要給自己的電腦重裝系統(tǒng)哀澈,需要把之前系統(tǒng)中mysql的數(shù)據(jù)庫(kù)備份遷移到新的系統(tǒng)中掠抬,我就把我操作的過(guò)程寫(xiě)了下來(lái)骄崩。覺(jué)得我寫(xiě)的不好可以直接看我的參考網(wǎng)站。
參考網(wǎng)站:
https://www.cnblogs.com/kissdodog/p/4174421.html
http://www.mamicode.com/info-detail-1721779.html
我使用的是mysqldump命令備份數(shù)據(jù)庫(kù)葛峻,mysqldump命令將數(shù)據(jù)庫(kù)中的數(shù)據(jù)備份成一個(gè)文本文件锹雏。表的結(jié)構(gòu)和表中的數(shù)據(jù)將存儲(chǔ)在生成的文本文件中。
mysqldump命令的工作原理很簡(jiǎn)單术奖。它先查出需要備份的表的結(jié)構(gòu)礁遵,再在文本文件中生成一個(gè)CREATE語(yǔ)句。然后采记,將表中的所有記錄轉(zhuǎn)換成一條INSERT語(yǔ)句佣耐。然后通過(guò)這些語(yǔ)句,就能夠創(chuàng)建表并插入數(shù)據(jù)挺庞。
mysqldump備份基本語(yǔ)法:
mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql
其中:
dbname參數(shù)表示數(shù)據(jù)庫(kù)的名稱晰赞;
table1和table2參數(shù)表示需要備份的表的名稱,為空則整個(gè)數(shù)據(jù)庫(kù)備份选侨;
BackupName.sql參數(shù)表設(shè)計(jì)備份文件的名稱,文件名前面可以加上一個(gè)絕對(duì)路徑然走。通常將數(shù)據(jù)庫(kù)被分成一個(gè)后綴名為sql的文件援制;
示例:
mysqldump -u root -p wenwu > D:\backup.sql
root用戶 wenwu數(shù)據(jù)庫(kù) 備份文件保存至D盤(pán)
若提示mysqldump不是內(nèi)部或外部命令,也不是可運(yùn)行的程序芍瑞,是因?yàn)樵撁顩](méi)有添加至環(huán)境變量中晨仑,找不到該命令,由于這個(gè)命令也很少用到拆檬,也就不添加環(huán)境變量了洪己。我只需要進(jìn)入Mysql的安裝目錄下,比如我的是C:\Program Files\MySQL\MySQL Server 5.6\bin竟贯,我們可以看到這個(gè)目錄下有mysqldump答捕。.exe這個(gè)文件。我們?cè)賵?zhí)行此命令就可以了屑那。
數(shù)據(jù)還原:
數(shù)據(jù)還原之前還需要先在mysql中建立要恢復(fù)的數(shù)據(jù)庫(kù)拱镐,并且需要使用相同的默認(rèn)字符集
create database wenwu charset=utf8;
1、還原使用mysql命令還原的數(shù)據(jù)庫(kù)的語(yǔ)法如下:
mysql -u root -p [dbname] < backup.sql
示例: root用戶 數(shù)據(jù)庫(kù)名稱為wenwu
mysql -u root -p wenwu < D:\backup.sql
我在mysql導(dǎo)入時(shí)出現(xiàn)"ERROR at line : Unknown command '''."的錯(cuò)誤持际,原因是導(dǎo)出時(shí)字符集的問(wèn)題沃琅。解決方法是設(shè)置默認(rèn)的字符集。再命令中添加--default-character-set=utf8
mysql -u root -p --default-character-set=utf8 wenwu < C:\backup.sql