mysql逻辑备份之mysqldump
2019獨角獸企業重金招聘Python工程師標準>>>
導出篇
(1)導出所有數據庫
>>mysqldump -uroot -proot --all-databases >/tmp/all.sql
(2)導出db1、db2兩個數據庫的所有數據
>>mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql
(3)導出db1中的a1、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.sql
(5)只導出表結構不導出數據,-no-data
>>mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql
(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
轉載于:https://my.oschina.net/u/3420885/blog/1935417
總結
以上是生活随笔為你收集整理的mysql逻辑备份之mysqldump的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wps怎么将文字转换成音频? wps将文
- 下一篇: Spring集成Mybatis plus