如何创建MySQL备份用户?

MySQL & MariaDB

1 前言

一个问题,一篇文章,一出故事。
今天需要完成MySQL数据库的备份操作,因此需要创建非root的授权,因此整理当前章节。

2 最佳实践

2.1 创建备份用户

CREATE USER 'mysqlbackup'@'10.168.200.76' IDENTIFIED BY 'mysqlbackuppwd';

2.2 授予用户备份权限

2.2.1 基本授权

GRANT SELECT, SHOW VIEW, TRIGGER ON *.* TO 'mysqlbackup'@'10.168.200.76';

以上参数适用于mysqldump –single-transaction参数(推荐用于InnoDB),如果需要使用其他场景,请使用如下命令,

GRANT SELECT, SHOW VIEW, TRIGGER, LOCK TABLES ON *.* TO 'mysqlbackup'@'10.168.200.76';

2.2.2 授予备份存储过程和函数的权限

GRANT EXECUTE ON *.* TO 'mysqlbackup'@'10.168.200.76';

另外,部分版本还需要执行,

GRANT SELECT ON mysql.proc TO 'mysqlbackup'@'10.168.200.76';

2.2.3 授予备份事件(Event)的权限

GRANT EVENT ON *.* TO 'mysqlbackup'@'10.168.200.76';

2.2.4 刷新权限

FLUSH PRIVILEGES;

2.2.5 查看授权结果

SHOW GRANTS FOR 'mysqlbackup'@'10.168.200.76';

2.3 撤销授权

2.3.1 撤销所有权限

REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'mysqlbackup'@'10.168.200.76';

2.3.2 删除用户

DROP USER IF EXISTS 'mysqlbackup'@'10.168.200.76';

2.3.3 刷新权限

FLUSH PRIVILEGES;
没有评论

发表回复

Docker
如何部署Docker MySQL 5.6.34?

1 基础知识 一个问题,一篇文章,一出故事。 本章将实现Docker MySQL 8.0的部署。 2 …

Docker
如何部署Docker MySQL 8.0?

1 基础知识 一个问题,一篇文章,一出故事。 本章将实现Docker MySQL 8.0的部署。 2 …

MySQL & MariaDB
如何升级MariaDB数据库?

1 前言 一个问题,一篇文章,一出故事。 今天测试Keycloak的升级,遇到如下错误提示, RRO …