导出篇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