innoxtrabackupバックアップ「ルート」セキュリティ上の問題(エンタープライズ・レベルのバックアップ)

フロー:

  • []インストールinnobackupex
  • []バックアップデータ
  • []ユーザーのバックアップを作成し、許可

innobackupexの例として、オンライン・バックアップをたくさん読んで、その多くが直接発見された「ルート」ユーザデータのバックアップ、直接スクリーンの前にさらさただし、このバックアップは非常に安全ではない、「ルート」パスワードのMySQLデータベース;それははっきりこれと「ストリーキング」の違いは何;パスワードデータベースが他人の手に上陸した場合、結果は.....(これによって、彼らはそれをしたい)ことができます。この記事は、この問題を解決するために生まれています!

まず、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;

(グラントすべてのONを使用しないでください「ルート・テキスト1」@「%」「123456」でINDENTIFIEDへ;)を作成する理由は、権限の乱用を避けるために、権限の使用を制御することである
(注)してみてください「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的权限如何分布,就是针对表可以设置什么权限,针对列可以设置什么权限等等,这个可以从官方文档中的一个表来说明

权限分布 配置的权限
表权限 、 'INSERT'、 'UPDATE'、 '作成'、 'ドロップ' 'を削除' 'を選択'、 'グラント'、 '参照'、 'インデックス'、 'アルター'
リスト権限 'を選択'、 'INSERT'、 'UPDATE'、 '参照'
プロセス権 「ルーチンアルター」、「実行」、「グラント」

おすすめ

転載: blog.51cto.com/13481789/2427982