innoxtrabackup 备份“root”安全问题(企业级备份方式 )
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,流程介绍:[ ] 安装 innobackupex[ ] 备份数据[ ] 创建并授权备份用户看了网上很多的 innobackupex 备份的实例,发现很多都是直接使用 "root" 用户进行对数据进行备
千家信息网最后更新 2025年11月12日innoxtrabackup 备份“root”安全问题(企业级备份方式 )
流程介绍:
- [ ] 安装 innobackupex
- [ ] 备份数据
- [ ] 创建并授权备份用户
看了网上很多的 innobackupex 备份的实例,发现很多都是直接使用 "root" 用户进行对数据进行备份;然而,这样的备份方式是非常不安全的,mysql 数据库的 "root" 密码直接暴露在屏幕前;说白了这和 "裸奔" 有啥区别;如果数据库的密码落在了别人的手里,那么后果可.....(这个靠自己想吧)。这篇文章就是解决这个问题而生的!
一、安装 innobackup
安装依赖包
# yum -y install rsync perl-DBD-MySQL numactl libaio-devel perl-Digest perl-Digest-MD5# wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libev-4.15-3.el7.x86_64.rpm# rpm -ivh libev-4.15-3.el7.x86_64.rpm# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.11/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm# rpm -ivh percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm二、备份数据
# innoxtrabackupex --defaults-file=/etc/my.cnf --socket=/data/mysql/mysql.sock --user=root --password=123456 /mnt/xtra在最后有这个提示就是备份成功
到备份好的目录查看,数据已经备份好了
温馨提示:
如果在企业里面对数据这样来进行备份得话,那么 root 用户的密码直接就暴露出去了,这样和 "裸奔" 有什么区别,这也太不安全了吧!
所以用进行对用户进行授权登陆,进行权限的控制,用授权的用户进行备份.......
三、创建并授权备份用户
Mysql> grant reload,lock tables,replication client,create tablespace,process,super on *.* to 'xtrabackup'@'localhost' identified by '123456';Mysql> flush privileges;不使用( grant all on . to 'root-text1'@'%' indentified by '123456'; ) 创建的原因是为了控制权限的利用,避免权限的滥用
注意: 尝试用 "xtrabackup" 用户登陆 mysql ,可以正常登陆,对库/表/用户只有查看的权限,不能进行删除修改
用 "xtrabackup" 用户进行备份数据库
# innoxtrabackupex --defaults-file=/etc/my.cnf --socket=/data/mysql/mysql.sock --user=xtrabackup --password=123123 /mnt/xtra备份成功
登陆 mysql ,对用户权限的查看
Mysql> select user,host,Reload_priv from user;正因为授权给 "xtrabackup" 用户有了 "Reload"重加载的权限才能对数据库进行备份
在数据库上尝试用 "back" 用户进行备份,会发现报错。如下图所示
温馨提示: 如果是没有 "Reload" 权限的用户无法执行备份
总结(两步走):
对备份用户授权
Mysql> grant reload,lock tables,replication client,create tablespace,process,super on *.* to 'xtrabackup'@'localhost' identified by '123456';备份
# innoxtrabackupex --defaults-file=/etc/my.cnf --socket=/data/mysql/mysql.sock --user=xtrabackup --password=123123 /mnt/xtra附上 mysql 用户常用权限详解
| 权限 | 权限级别 | 权限说明 |
|---|---|---|
| CREATE | 数据库、表或索引 | 数据库、表或索引权限 |
| DROP | 数据库表 | 删除数据库或表权限 |
| GRANT OPTION | 数据库、表或保存的程序 | 赋予权限选项 |
| REFERENCES | 数据库或表 | |
| ALTER | 表 | 更改表,比如添加字段、索引等 |
| DELETE | 表 | 删除数据权限 |
| INDEX | 表 | 索引权限 |
| INSERT | 表 | 插入权限 |
| SELECT | 表 | 查询权限 |
| UPDATE | 表 | 更新权限 |
| CREATE VIEW | 视图 | 创建视图 |
| SHOW VIEW | 视图 | 查看视图 |
| ALTER ROUTINE | 存储过程 | 更改存储过程权限 |
| CREATE ROUTINE | 存储过程 | 创建存储过程权限 |
| EXECUTE | 存储过程 | 执行存储过程权限 |
| FILE | 服务器主机上的文件访问 | 文件访问权限 |
| CREATE TEMPORARY TABLES | 服务器管理 | 创建临时表权限 |
| LOCK TABLES | 服务器管理 | 锁表权限 |
| CREATE USER | 服务器管理 | 创建用户权限 |
| PROCESS | 服务器管理 | 查看进程权限 |
| RELOAD | 服务器管理 | 执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限 |
| REPLICATION CLIENT | 服务器管理 | 复制权限 |
| REPLICATION SLAVE | 服务器管理 | 复制权限 |
| SHOW DATABASES | 服务器管理 | 查看数据库权限 |
| SHUTDOWN | 服务器管理 | 关闭数据库权限 |
| SUPER | 服务器管理 | 执行kill线程权限 |
MYSQL的权限如何分布,就是针对表可以设置什么权限,针对列可以设置什么权限等等,这个可以从官方文档中的一个表来说明
| 权限分布 | 配置的权限 |
|---|---|
| 表权限 | 'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter' |
| 列表权限 | 'Select', 'Insert', 'Update', 'References' |
| 过程权限 | 'Execute', 'Alter Routine', 'Grant' |
权限
备份
数据
用户
数据库
服务器
服务
管理
过程
存储
索引
视图
登陆
密码
就是
提示
安全
成功
温馨
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河南计算机网络技术升本
搜索sql数据库所有表
就没有网络安全
通信工程和数据库论文题目
中国服务器远程管理平台
网络安全教育剧本
广州升橙互联网科技有限公司
关于网络安全的优秀题目
国电通网络技术与国网信通
网络技术竞赛活动后的效果评价
网络安全小短文50字
zend连接数据库
简单的数据库设计论坛
海珠软件开发专业技校技工
产科网络安全考核办法
服务器安全狗添加开放端口
欧拉物理服务器怎么安装
数据库升序降序
网络安全有什么属性
京东 提交金数据库
泰兴市网络安全保卫大队大队长
做项目的软件开发
网络安全动态视频
数据库软件工程师报名
配置linux数据库
网络安全意识从哪几个维度分析
威科法律百科全书数据库
畅博软件开发和游龙
长沙致友软件开发
镇江室内led大屏服务器