MySQL数据库入门——数据库备份 mysqldump


======从物理,逻辑角度========

物理备份:对数据库操作系统的物理文件的备份(数据文件、日志文件)

方法:

冷备份:在关闭数据库的时候进行

热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件


逻辑备份:对数据库逻辑组件的备份

======从数据库的策略角度======

完整备份:

优点:简单方便

缺点:数据存在大量的重复

占用大量的备份空间

备份时间长


差异备份基于上一次完整备份后面多的内容进行备份


物理备份:

yum install xz -y

tar Jcvf /opt/mysql-$(date+%F).tar.xz /usr/local/mysql/data/

#备份当时的mysql数据文件形成压缩文件到opt下面的压缩包

mysqldump 命令对单个库进行完全备份【但是不会有create创建的语句】

保存表结构的话要加-d

mysqldump -u用户 -p密码 数据库名 > 保存的文件路径,文件类型为sql

举例:#备份名为school的数据库到/opt/取名为school.sql

mysqldump -uroot -pabc123 school > /opt/school.sql   #mysqldump –uroot用户 -p密码 数据库名school > /opt/school.sql


=======恢复数据,导回数据========

方法一:

需要提前创建数据库school

mysql -uroot -pabc123 school < school.sql

方法二:

mysqldump -uroot -pabc123 --databases school > school.sql

无需提前创建数据库school

mysql -uroot -pabc123 < school.sql

方法三

首先进入数据库,备份一份数据,

drop删除的表

source 之前备份数据的文件路径,结尾不用加;


多个数据库备份:

mysqldump -uroot -p --databases数据库名称1 数据库名称2 > /opt/文件名.sql

完整性数据库备份

备份所有的数据库结构:

mysqldump -u用户名 -p --all-databases > 保存文件路径 文件类型sql

备份一份完整的数据库文件:

mysqldump -u用户名 -p --databases 数据库名 > 保存文件路径 文件类型sql

保存数据库中的表的内容备份:

mysqldump -u用户名 -p 数据库名表名 > 保存文件路径 文件类型sql



========退出mysql,操作mysql=====


导回之前备份的路径,执行命令(可以不进入数据库的进行命令操作)

mysql -uroot -p 数据库 < 之前备份的文件路径


不用进入数据库就可以进行的操作:需要加-e

举例语法:mysql -u用户  -p密码 -e ‘use 数据库;show databases;’

猜你喜欢

转载自blog.51cto.com/13767783/2167122