(一)备份

mysql> show databases;

+--------------------+

| Database                |

+--------------------+

| information_schema  |

| mysql                          |

| performance_schema |

| sys                               |

| mzl                                |

+--------------------+

(1) 执行全库备份

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 --all-databases --single-transaction --force > all_db.sql

注:information_schema是特殊的数据库,即使全备,也不会备份该数据库。


(2) 备份多个数据库

 备份多个数据库:mysql和mzl

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 --databases mysql mzl --single-transaction --force > mzl_mysql_db.sql

(3) 备份单个数据库

根据是否使用“--databases”参数,单个数据库的备份有2种方法。

方法1:备份单个数据库:mzl,使用--databases参数

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 --databases mzl --single-transaction --force > mzl.sql


 方法2:备份单个数据库:mzl,不使用--databases参数

mysqldump -uroot -p123456 -h192.168.210.15 -P3306 mzl --single-transaction --force > mzl01.sql

两者的区别在于添加“--database”参数,则会在导出语句中包含建库语句。

[root@k8s-master mysqlbackup]# cat mzl.sql |grep "CREATE DATABASE"

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `testdb` /*!40100 DEFAULT CHARACTER SET utf8 */;

[root@k8s-masterr mysqlbackup]# cat mzl01.sql |grep "CREATE DATABASE"


(4)导出数据库的某些表

导出mzl的表class01,class02,目前来看,只能针对单个数据库的表进行导出

mysqldump -uroot -p123456 -h192.168.210.85 -P3306 --tables mzl class01 class02  --single-transaction --force > mzlall.sql


(二)还原

执行还原操作

[root@k8s-master mysqlbackup]# mysql -uroot -p123456 -h192.168.210.85 -P3306 < all_db.sql

查看还原结果:

mysql> show databases;

+--------------------+

| Database                |

+--------------------+

| information_schema  |

| mysql                          |

| performance_schema |

| sys                               |

| mzl                              |

+--------------------+

使用“--databases”参数创建的备份,必须先创建数据库,再执行导入,导入时须指定数据库名称。

如果没有创建数据库 或者 不指定数据库名称,则还原报错

[root@k8s-master mysqlbackup]# mysql -uroot -p123456 -h192.168.210.85 -P3306 < mzl.sql 

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 1046 (3D000) at line 22: No database selected

指定数据库名称,还原正常

[root@k8s-master mysqlbackup]# mysql -uroot -p123456 -h192.168.210.85 -P3306 mzl< mzl.sql 

mysql: [Warning] Using a password on the command line interface can be insecure.


©著作权归作者所有:来自51CTO博客作者mob604756e834f7的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. MySQL数据库root账户密码忘记了怎么办?
  2. 掌握MySQL数据库这些优化技巧,事半功倍!
  3. Greenplum运维管理学习
  4. Web前端开发人员必知的七项数据库优化技巧
  5. SQL优化小讲堂(六)——善待数据库从建表开始
  6. 跨服务器操作数据库?其实很简单!(下)
  7. MySQL系列-安装MySQL
  8. 跨服务器操作数据库?其实很简单!(上)
  9. SQL基础知识V2——SELECT

随机推荐

  1. SQL数据库基础(四)
  2. MySQL中实现Oracle里面 rank()over ( PAR
  3. 在Navicat 中设置 SQL 格式的方法
  4. mysql 去除重复数据
  5. mysql数据库大规模数据读写并行时导致的
  6. 牛客网数据库SQL实战(1-5)
  7. SSAS中用于层次结构的数据驱动安全性
  8. 在php中连接mysql列值
  9. 如何在大描述值中找到字符串
  10. sqlserver,mysql,oracle通用的模拟和改进