MySQL 用户账号迁移

文章目录

    • 前言
    • 1. 工具安装
      • 1.1 下载安装包
      • 1.2 编译安装
    • 2. 用户迁移
    • 后记

前言

有一个典型的使用场景,就是 RDS 下云大多数都是通过 DTS 进行数据传输的,用户是不会同步到自建数据库的。需要运维人员在自建数据库重新创建用户,如果用户数量很多的话,那么手动创建并不现实。那么就是 pt-show-grants 发挥作用的时候了。

1. 工具安装

pt-show-grants 包含在 Percona Toolkit 工具集中,下面是安装工具集的方法,后续也会介绍更多工具的使用场景和方法。

1.1 下载安装包

从 https://www.percona.com/downloads 地址内,下载 Percona tookit 的安装包。

在这里插入图片描述

1.2 编译安装

PT 工具集是基于 perl 语言开发,所以使用前需要安装相关依赖包。

yum install -y perl perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes perl-Digest-MD5 perl-ExtUtils-MakeMaker
tar -zxvf percona-toolkit-3.3.1_x86_64.tar.gz
cd percona-toolkit-3.3.1
perl Makefile.PL
make
make install

这几步执行完后,PT 工具集就算安装完成了。

2. 用户迁移

该工具用户打印 MySQL 用户创建语句,有一个典型的使用场景,就是 RDS 下云大多数都是通过 DTS 进行数据传输的,用户是不会同步到自建数据库的。需要运维人员在自建数据库重新创建用户,如果用户数量很多的话,那么手动创建并不现实。那么就是 pt-show-grants 发挥作用的时候了。

导出除 MySQL 预留用户 mysql.sys 和 mysql.session 之外的所有用户。

pt-show-grants h=127.0.0.1,P=3306,u=root,p=abc123 --ignore 'mysql.sys'@'localhost','mysql.session'@'localhost'

输出结果:

-- Grants dumped by pt-show-grants
-- Dumped from server 127.0.0.1 via TCP/IP, MySQL 5.7.33-log at 2024-02-29 11:44:25
-- Grants for 'bing'@'%'
CREATE USER IF NOT EXISTS 'bing'@'%';
ALTER USER 'bing'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*6691484EA6B50DDDE1926A220DA01FA9E575C18A' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK;
GRANT ALL PRIVILEGES ON *.* TO 'bing'@'%';-- Grants for 'root'@'localhost'
CREATE USER IF NOT EXISTS 'root'@'localhost';
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*6691484EA6B50DDDE1926A220DA01FA9E575C18A' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION;

拿着用户创建 SQL 到目标端执行一遍,就完成了用户账号迁移。

常用参数:

  • –drop:在 create user 之前打印 DROP USER 操作。
  • –flush:在末尾打印 FLUSH PRIVILEGES 操作。
  • –revoke:在 create user 之前打印 REVOKE 操作。
  • –only:只输出指定用户的创建语句,例如 --only ‘bing’@‘%’
  • –ignore:忽略输出指定用户的创建语句。

后记

本篇文章介绍如何使用 pt-show-grants 迁移 MySQL 用户账号的方法,后续还会介绍 Percona tookit 的更多使用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/498199.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫项目实战案例-批量下载网易云榜单音乐保存至本地

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…

【C++】优先级队列priority_queue模拟实现仿函数

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:能手撕仿函数模拟 > 毒鸡汤:你活得…

【c++】stack和queue模拟实现

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:能手撕stack和queue模拟 > 毒鸡汤:…

基础!!!吴恩达deeplearning.ai:卷积层

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 文章目录 回顾——密集层 Dense Layer卷积层 Convolutional Neural Network定义优势具体说明心电图卷积层搭建 到目前为止,你使用的所有神经网络层都是密集层类型,这…

ICVQUANTUMCHINA报告:《2024全球量子计算产业发展展望》

2月20日,《2024量子计算产业发展展望》的中文版报告通过光子盒官方平台发布,英文版报告通过ICV官方平台发布。 英文版报告获取地址: https://www.icvtank.com/newsinfo/897610.html 在过去的一年里,光子盒与您一同见证了全球量子…

幻兽帕鲁专用服务器搭建之Linux部署配置教程

大家好我是飞飞,上一期我分享了Windows系统的幻兽帕鲁服务器搭建教程。因为幻兽帕鲁这游戏对服务器的配置有一定的要求,很多小伙伴就寻思用Linux系统搭建占用会不会小一点?有计算机基础的小伙伴都知道Linux系统和Windows系统相比,…

探索前景:机器学习中常见优化算法的比较分析

目录 一、介绍 二、技术背景 三、相关代码 四、结论 一、介绍 优化算法在机器学习和深度学习中至关重要,可以最小化损失函数,从而改善模型的预测。每个优化器都有其独特的方法来导航损失函数的复杂环境以找到最小值。本文探讨了一些最常见的优化算法&…

前端Ajax获取当前外网IP地址并通过腾讯接口解析地理位置

目录 一、获取访问端IP地址 二、可用的IP获取接口 1、韩小韩IP获取接口: 2、ipify API 附3、失败的太平洋接口 三、腾讯位置服务-IP位置查询接口 一、获取访问端IP地址 原计划使用后端HttpServletRequest 获取访问端的IP地址,但在nginx和堡垒机等阻…

Python多功能课堂点名器、抽签工具

一、问题缘起 去年,ChatGPT浪潮袭来,我懂简单的Python基础语法,又有一些点子,于是借助于人工智能问答工具,一步一步地制作了一个点名器,也可以用于抽签。当时,我已经设计好页面和基础的功能&am…

Leetcode 第 385 场周赛题解

Leetcode 第 385 场周赛题解 Leetcode 第 385 场周赛题解题目1:3042. 统计前后缀下标对 I思路代码复杂度分析 题目2:3043. 最长公共前缀的长度思路代码复杂度分析 题目3:3044. 出现频率最高的质数思路代码复杂度分析 题目4:3045. …

【EFK】基于K8S构建EFK+logstash+kafka日志平台

基于K8S构建EFKlogstashkafka日志平台 一、常见日志收集方案1.1、EFK1.2、ELK Stack1.3、ELK filbeat1.4、其他方案 二、EFK组件介绍2.1、Elasticsearch组件2.2、Filebeat组件【1】 Filebeat和beat关系【2】Filebeat是什么【3】Filebeat工作原理【4】传输方案 2.3、Logstash组件…

本届挑战赛季军方案:基于图网络及LLM AGENT的微服务系统异常检测和根因定位方法

aiboco团队荣获本届挑战赛季军。该团队来自亿阳信通。 方案介绍 本届挑战赛采用开放式赛题,基于建行云龙舟运维平台的稳定性工具和多维监控系统,模拟大型的生活服务APP的生产环境,提供端到端的全链路的日志、指标和调用链数据。参赛队伍在组…