MySQL umask 导致备份报错
2013-11-04 17:37
253 查看
备份工具仅限于xtrabackup(2.0+)
umask 大家并不陌生,它设定的文件(目录)的默认权限;一般新创建的目录权限为755,文件为644;
但MySQL对于新创建的数据库目录的权限为 700;数据表文件为660;这可让我们摸不著头脑啦。难道MySQL不依赖系统自己设定的值?参考文档:MySQL UMASK 决定数据库目录、文件权限是由两个变量UMASK UMASK_DIR 来决定,UMASK 与 Linux中 umask恰好相反,Linux是规定umask 是权限的反向掩码,而UMASK 规定多少其权限就是多少;
可设置UMASK UMASK_DIR 这两个选项来设定MySQL创建文件的默认权限(需重启MySQL);
为什么MySQL要自己控制一些变量,来实现权限控制(这就不得而知了,可能会安全有关)?
由UMASK 引起的注意事项:
备份:使用xtrabackup 备份的时候,系统用户如果不是 root 或者mysql,它只备份那些有权限进入的数据库目录,没有权限的它还不会报错,ca(如果备份的第一个数据库目录就没有进入权限,就会直接报错)
解决方式:修改数据库目录权限为755,或者更改UMASK_DIR值(这里所指的数据库目录是 my.cnf 里面的 datadir);
umask 大家并不陌生,它设定的文件(目录)的默认权限;一般新创建的目录权限为755,文件为644;
但MySQL对于新创建的数据库目录的权限为 700;数据表文件为660;这可让我们摸不著头脑啦。难道MySQL不依赖系统自己设定的值?参考文档:MySQL UMASK 决定数据库目录、文件权限是由两个变量UMASK UMASK_DIR 来决定,UMASK 与 Linux中 umask恰好相反,Linux是规定umask 是权限的反向掩码,而UMASK 规定多少其权限就是多少;
可设置UMASK UMASK_DIR 这两个选项来设定MySQL创建文件的默认权限(需重启MySQL);
为什么MySQL要自己控制一些变量,来实现权限控制(这就不得而知了,可能会安全有关)?
由UMASK 引起的注意事项:
备份:使用xtrabackup 备份的时候,系统用户如果不是 root 或者mysql,它只备份那些有权限进入的数据库目录,没有权限的它还不会报错,ca(如果备份的第一个数据库目录就没有进入权限,就会直接报错)
解决方式:修改数据库目录权限为755,或者更改UMASK_DIR值(这里所指的数据库目录是 my.cnf 里面的 datadir);
相关文章推荐
- MySQL innobackupex备库备份导致主备延时
- MySQL备份导致的waiting for global read lock
- mysql 数据还原时,备份的SQL文件过大导致的错误,解决办法!
- mysql oracle sql文件备份恢复问题(外键约束导致导入sql需要按顺序)
- MySQL主库xtrabackup备份导致应用异常
- MySQL备份原理详解
- mysql 备份与还原
- mysql备份之mysqldump
- 使用Jenkins备份Mysql
- Mysql自动备份脚本
- mysql备份与恢复+ERROR 1046
- mysql 备份与还原恢复
- MYSQL 数据备份
- MySQL数据备份
- 备份mysql显示mysqldump: Got errno 28 on write
- mysql 备份和恢复的两条命令
- mysql备份与恢复-mysqldump使用
- Linux下的MySQL自动备份脚本
- windows mysql 自动备份的几种方法
- Mysql开源备份工具Xtrabackup备份部署