课程名称:MySQL面试指南
课程章节:在不同实例间迁移数据库用户
主讲老师:sqlercn
课程内容:
今天学习的内容包括:
情形分析迁移用户场景
导出用户建立及授权语句
课程收获:
情形分析
^ (一)
+-------+ / \ 是 +-------------+ +--------------+
| 数据库 | --> /是否\ --> | 备份MySQL库 | --> | 在目的实例恢复 |
| 版本 | \一致/ +-------------+ +--------------+
+-------+ \ /
V
| 否
(二) v
+-------------+ +--------------+
| 导出授权语句 | --> | 在目地实例执行 |
+-------------+ +--------------+
方案 (一) 需要保证两个数据库的版本一致,适用的场景比较窄。
方案 (二) 更加通用。
导出用户建立及授权语句
如果使用的是 Percona Server 版本的MySQL可以使用下面这个命令到处用户创建和权限设置语句:
pt-show-grants -u root -p 1234
# 输出结果如下:
CREATE USER IF NOT EXISTS 'dba_test'@'10.102.13.%';
ALTER USER 'dba_test'@'10.102.13.%' IDENTIFIED WITH 'mysql_native_password' AS '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK;
GRANT USAGE ON *.* TO 'dba_test'@'10.102.13.%';
...
对于其他版本的MySQL可以安装percona-toolkit,比如在Ubuntu中:
sudo apt install percona-toolkit