innoxtrabackup 备份“root”安全问题(企业级备份方式 )
admin
2023-04-16 01:21:26
0

流程介绍:

  • [ ] 安装 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

在最后有这个提示就是备份成功
innoxtrabackup 备份“root”安全问题(企业级备份方式 )
到备份好的目录查看,数据已经备份好了
innoxtrabackup 备份“root”安全问题(企业级备份方式 )

温馨提示:

如果在企业里面对数据这样来进行备份得话,那么 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 ,可以正常登陆,对库/表/用户只有查看的权限,不能进行删除修改
innoxtrabackup 备份“root”安全问题(企业级备份方式 )
用 “xtrabackup” 用户进行备份数据库

#  innoxtrabackupex --defaults-file=/etc/my.cnf --socket=/data/mysql/mysql.sock --user=xtrabackup --password=123123 /mnt/xtra

备份成功
innoxtrabackup 备份“root”安全问题(企业级备份方式 )
登陆 mysql ,对用户权限的查看

Mysql>  select user,host,Reload_priv from user;

正因为授权给 “xtrabackup” 用户有了 “Reload”重加载的权限才能对数据库进行备份
innoxtrabackup 备份“root”安全问题(企业级备份方式 )
在数据库上尝试用 “back” 用户进行备份,会发现报错。如下图所示
innoxtrabackup 备份“root”安全问题(企业级备份方式 )
温馨提示: 如果是没有 “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'

相关内容

热门资讯

玩家攻略科普“喜扣打筒子可以开... 网上科普关于“喜扣打筒子有没有挂”话题很是火热,小编也是针对喜扣打筒子作*弊开挂的方法以及开挂对应的...
终于明白“九酷牛牛开挂神器?”... 网上科普关于“九酷牛牛有没有挂”话题很是火热,小编也是针对九酷牛牛作*弊开挂的方法以及开挂对应的知识...
玩家最新攻略“情怀娱乐有没有挂... 您好:情怀娱乐这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
今日重磅消息“新大圣炸/金/花... 家人们!今天小编来为大家解答新大圣炸/金/花透视挂怎么安装这个问题咨询软件客服徽9752949的挂在...
今日重大发现“全民如意棋牌是不... 网上科普关于“全民如意棋牌有没有挂”话题很是火热,小编也是针对全民如意棋牌作*弊开挂的方法以及开挂对...
玩家攻略科普“亲友游戏开挂器?... 网上科普关于“亲友游戏有没有挂”话题很是火热,小编也是针对亲友游戏作*弊开挂的方法以及开挂对应的知识...
玩家最新攻略“老表逗娱碰胡怎么... 您好:老表逗娱碰胡这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
重磅消息“白金岛游戏到底是不是... 您好:白金岛游戏这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游...
【第一资讯】“来来麻将究竟有挂... 有 亲,根据资深记者爆料来来麻将是可以开挂的,确实有挂(咨询软件无需打开...
我来教教您“家乡大贰到底有挂吗... 网上科普关于“家乡大贰有没有挂”话题很是火热,小编也是针对家乡大贰作*弊开挂的方法以及开挂对应的知识...