導出篇mysql
(1)導出全部數據庫
>>mysqldump -uroot -proot --all-databases >/tmp/all.sqlsql(2)導出db一、db2兩個數據庫的全部數據
>>mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql數據庫(3)導出db1中的a一、a2表
注意導出指定表只能針對一個數據庫進行導出,且導出的內容中和導出數據庫也不同,導出指定表的導出文本中沒有建立數據庫的判斷語句,只有刪除表-建立表-導入數據
>>mysqldump -uroot -proot --databases db1 --tables a1 a2 >/tmp/db1.sql服務器(4)條件導出,導出db1表a1中id=1的數據
若是多個表的條件相同能夠一次性導出多個表,字符串字段是整形
>>mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1' >/tmp/a1.sql
字段是字符串,而且導出的sql中不包含drop table,create table
>>mysqldump -uroot -proot --no-create-info --databases db1 --tables a1 --where="id='a'" >/tmp/a1.sqltable(5)只導出表結構不導出數據,-no-data
>>mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sqltest(6)生成新的binlog文件,-F
有時候會但願導出數據以後生成一個新的binlog文件,只須要加上-F參數便可
>>mysqldump -uroot -proot --databases db1 -F >/tmp/db1.sql登錄(7)跨服務器導出導入數據
>>mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
將h1服務器中的db1數據庫的全部數據導入到h2中的db2數據庫中,db2的數據庫必須存在不然會報錯
>>mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
加上-C參數能夠啓用壓縮傳遞。語法
導入篇:數據
1>使用source 命令恢復數據庫
使用source 命令,須要先登陸數據庫,在數據庫操做界面調用該指令進行還原,語法以下
mysql>source /beifen/20180828/db.sql
2>
mysql -u<username> -p<password> <dbname> < /beifen/20180828/db.sql #庫必須保留,空庫也可
說明:指定dbname,至關於use <dbname>>>mysql -uroot -proot testdb < /beifen/20180828/db.sql