友情鏈接1:https://www.cnblogs.com/cloudwas/p/13072736.html
友情鏈接2:https://www.cnblogs.com/cloudwas/p/13072841.html
MySQL數據庫數據導出
一、導出命令
- 導出所有數據庫:
mysqldump -u [數據庫用戶名] -p -A>[備份文件的保存路徑]
- 導出數據和數據結構:
mysqldump -u [數據庫用戶名] -p [要備份的數據庫名稱]>[備份文件的保存路徑]
mysqldump -u root -p test>d:\test.sql
mysql -hlocalhost -u root -p databasename > databasename.sql;
注意:此備份只備份數據和數據結構,沒有備份存儲過程和觸發器
- 只導出數據不導出數據結構:
mysqldump -u [數據庫用戶名] -p -t [要備份的數據庫名稱]>[備份文件的保存路徑]
- 導出數據庫結構(不包括數據,只有創建數據表語句):
mysql -hlocalhost -u root -p databasename -d databaseename > databasename.sql;
- 導出數據庫中的Events
mysqldump -u [數據庫用戶名] -p -E [數據庫用戶名]>[備份文件的保存路徑]
- 導出數據庫中的存儲過程和函數
mysqldump -u [數據庫用戶名] -p -R [數據庫用戶名]>[備份文件的保存路徑]
- 附件繼續補充
二、操作步驟:
- 進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
- 導出數據庫:mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
- 會看到文件news.sql自動生成到bin文件下
數據庫數據導入
- 將SQL腳本導入執行
mysql -u用戶名 -p 數據庫名 < 數據庫名.sql
mysql -uabc_f -p abc < abc.sql
- 直接拷貝
- 2.1 解壓
在臨時目錄中解壓
cd /tmp
tar zxf mydb.tar.gz
- 2.2 拷貝
將解壓后的數據庫文件拷貝到相關目錄
cd mydb/
cp * /var/lib/mysql/mydb/
- 2.3 將拷貝過去的文件的屬主改為mysql:mysql,權限改為660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*
操作步驟:
- 在命令窗口輸入mysql -hlocalhost -u root -p,
- 接着輸入show databases;
- 接着輸入:use db;
- 然后執行source D:\db.sql(sql文件路徑根據自己的實際情況)即可成功導入sql文件。
MySQL數據庫備份和還原
- 備份MySQL數據庫的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
- 備份MySQL數據庫為帶刪除表的格式備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫。
mysqldump ---add-drop-table -uusername -ppassword databasename > backupfile.sql
- 直接將MySQL數據庫壓縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
- 備份MySQL數據庫某個(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
- 同時備份多個MySQL數據庫
mysqldump -hhostname -uusername -ppassword --databases databasename1 databasename2 databasename3 > multibackupfile.sql
- 僅僅備份數據庫結構
mysqldump --no-data --databases databasename1 databasename2 databasename3 > structurebackupfile.sql
- 備份服務器上所有數據庫
mysqldump --all-databases allbackupfile.sql
- 還原MySQL數據庫的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
- 還原壓縮的MySQL數據庫
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
- 將數據庫轉移到新服務器
mysqldump \-uusername \-ppassword databasename \| mysql \--host=*.*.*.\* \-C databasename
壓縮備份
- 備份並用gzip壓縮:
mysqldump < mysqldump options> | gzip > outputfile.sql.gz
- 從gzip備份恢復:
gunzip < outputfile.sql.gz | mysql < mysql options>
- 備份並用bzip壓縮:
mysqldump < mysqldump options> | bzip2 > outputfile.sql.bz2
- 從bzip2備份恢復:
bunzip2 < outputfile.sql.bz2 | mysql < mysql options>
附件
1、導出所有庫
mysqldump -uusername -ppassword --all-databases > all.sql
2、導入所有庫
mysql>source all.sql;
3、導出某些庫
mysqldump -uusername -ppassword --databases db1 db2 > db1db2.sql
4、導入某些庫
mysql>source db1db2.sql;
5、導入某個庫
mysql -uusername -ppassword db1 < db1.sql;
mysql>source db1.sql;
6、導出某些數據表
mysqldump -uusername -ppassword db1 table1 table2 > tb1tb2.sql
7、導入某些數據表
mysql -uusername -ppassword db1 < tb1tb2.sql
mysql>
user db1;
source tb1tb2.sql;
8、mysqldump字符集設置
mysqldump -uusername -ppassword --default-character-set=gb2312 db1 table1 > tb1.sql