MySQl数据库如何自动备份

1)无论正式还是测试环境,一定主从数据库,每天备份。周一全量备份,周二-周日 增量备份
2)数据库权限
开发人员以及项目代码中数据库的权限只能是DML (SELECT、UPDATE、INSERT、DELETE)。最重要的一点是不能分配DROP 权限
单独的一个用户拥有DDL 和 DML 权限,当执行DDL SQL 需要至少两个人一起确认后才能执行
开发人员远程客户端连接数据库,只能使用DML 权限的用户

TCL (Transaction Control Language):事务控制语言
DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,这4条命令是用来对数据库里的数据进行操作的语言
DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接 和约束等初始化工作上,他们大多在建立表时使用

DCL(Data Control Language): 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有
sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL

代码管理

git 版本管理
1)线上每次发版,都要新建对应分支作为备份
2)新功能在master分支上修改。
3)线上版本和测试环境在发版本时,代码一定要保证一致
4)线上和测试环境的数据,不仅数据库要备份,相关的图片、视频等文件也要定期备份。