mysql----逻辑备份与恢复(mysqldump命令---可能会锁表)

逻辑备份与恢复 
使用数据库服务软件自带命令或安装其他软件提供的命令备份和恢复

使用mysql服务软件提供的命令做备份和恢复
!!!数据库服务必须是运行状态!!!!

完全备份命令格式 
]# mysqldump   -uroot    -p密码   库名   >  /目录名/备份文件名.sql
库名的表示方式:
		 库名  表名                     #仅备份库下一张的所有记录	
		 库名  表名1    表名2          #一起备份库下2张表的所有记录
	     -B  库名                       #仅备份1个库里的所有表
		 -B  库名1     库名2           #一起备份2个库里的所有表
		 -A  或   --all-databases      #备份服务器上的所有库所有表



完全恢复数据命令格式 
]# mysql   -uroot    -p密码   [库名] <  /目录名/备份文件名.sql

!!!!使用表的备份文件恢复数据的时必须写库名,不然数据库服务不知道把数据恢复那个库里!!!!
  
  
备份数据例子
存储备份文件的目录要事先创建
[root@host50 ~]# mysqldump -uroot -p密码  db1 t41 > /bakdir/db1_t41.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@host50 ~]#
 
[root@host50 ~]# mysqldump -uroot -p密码  -B db1 > /bakdir/db1.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@host50 ~]# 

[root@host50 ~]# mysqldump -uroot -p密码  -B db1 mysql > /bakdir/twodb.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@host50 ~]# 

[root@host50 ~]# mysqldump -uroot -p密码  -A > /bakdir/allbak.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

[root@host50 ~]# ls /bakdir/
allbak.sql  db1.sql  db1_t41.sql  db1_user.sql  mysql.bak  mysql.tar.gz  twodb.sql
[root@host50 ~]# 



 恢复数据例子
mysql> delete from  db1.t41;
Query OK, 3 rows affected (0.03 sec)

mysql> drop table db1.t41;
Query OK, 0 rows affected (0.10 sec)

mysql> exit

[root@host50 ~]# mysql -uroot -p654321  < /bakdir/db1_t41.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1046 (3D000) at line 22: No database selected #没写库名报错 使用表的备份文件恢复数据 必须写库名
[root@host50 ~]# 
[root@host50 ~]# mysql -uroot -p654321 db1  < /bakdir/db1_t41.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@host50 ~]# 

使用库的备份文件恢复数据
mysql> drop database db1;
Query OK, 10 rows affected (1.05 sec)
mysql> exit;

[root@host50 ~]# mysql -uroot -p654321  < /bakdir/db1.sql    #使用库的备份文件恢复数据 不需要写库名
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@host50 ~]# 
[root@host50 ~]# mysql -uroot -p654321 
mysql> show  databases;
mysql> use  db1;
mysql> show tables;

编写计划任务每周周一晚上23点备份 服务的所有数据 用系统日期做备份文件名
]#crontab  -e
00  23  * *  1   mysqldump -uroot -p654321 -A  > /bakdir/`date +%F`_allbak.sql
  
mysqldump的备份缺点:  
		1 mysqldump 在备份数据和恢复数据的时候会锁表  
	    2  使用 mysqldump备份命令生成备份文件恢复数据,只能
			把数据恢复备份时刻的数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值