锁和数据备份恢复
锁和备份
一、锁的问题(mysql终端运行,不是pymysql)
- 使用锁的原因:在数据库的实际操作中,经常存在多个计算机共同操作一台服务器的情况,如果两个或者多个计算机同时操作同一条数据(update)就会存在数据操作中的不安全情况。为了解决这个问题,产生了锁机制。即当一台计算机操作一个数据的时候,锁会锁住这条资源,在提交之前其他的计算机不能 对这条数据做任何的操作,这样可以极大的保证了数据的安全性。
- 具体的步骤
- 开启事务:begin;
- 为数据添加锁:select 字段 from 表 where 条件 for update;
- 对数据进行修改:update 表 set 字段=“新数据” where 条件;
- 提交数据:commit;
begin开启事务,for update对操作的数据添加锁,commit提交事务,注意:锁机制只用于需要进行两步的操作,一步操作不用锁。
二、数据库备份与恢复
-
备份格式:mysqldump -u用户名 -p密码 全备/单库备/表备 >备份文件的绝对路径
-
备份分类
- 全备:-A
mysqldump -u root -p 930215 -A >/home/tools-study/mysql/备份.sql
- 单库备:-B 数据库名,多个数据库之前用空格隔开
mysqldump -u root -p930215 -B department_data mysql test >/home/tools-study/mysql/备份_db.sql;
- 表备:数据库 备份表名,数据库和表名之间用空格隔开
mysqldump -u root -p930215 department_data userinfo >/home/tools-study/mysql/备份_file.sql;
需要注意的是:所有的备份语句都是在mysql安装路径下的bin目录中执行的,否则会执行错误
- 数据恢复
格式:source 备份文件路径
注意:必须在mysql中执行,和备份是不一样的