你好朋友,在某些场合,一些客户,不管是什么原因,要求我们迁移一个所谓的“等效”品牌属于MySQL引擎的家庭或生态系统。
在本例中,我们将分析MariaDB的迁移raybetapp 在特定的。评论价值澄清的是,尽管Percona MySQL服务器作为MySQL的替代,因为它提供了兼雷竞技下载官网容性连续性(Percona MySQL服务器甚至社区版本不提供某些功能,免费!),同样的事情不会发生在MariaDB,它从一个特定的版本,我们可以说在某种程度上,逐渐远离MySQL和Percona MySQL服务器。关于这个话题,已经说得很多了,和几个有趣的链接上的净谈论它。
在这次机会中,我们将严格关注应该如何完成迁移,尤其是,我将“缩放”(如果你允许我类比)在所有与安全有关。
基于我们的经验,最安全的方法迁移MariaDB Percona MySQL服务器是合乎逻辑的。雷竞技下载官网为此,我们建议使用mydumper因为它提供了几个优势,mysqldump,如并行性、压缩等特性,使它非常有趣。
说完这一切,什么步骤在总体规划层面?基本上,它是类似的:
简单,是吧?不,我的朋友,这不是那么简单。撇开某些复杂性有关兼容数据类型,和代码中创建实例(存储过程、函数等),我们不会谈论这个博客,还有另一个栅栏,许多低估和是至关重要的:安全。
为什么我去谈论这个?因为在MariaDB(也为MySQL在Percona S雷竞技下载官网erver 8),角色等,他们可能已经被使用。角色是方便分组权限并将它们分配给用户。已经被讨论了,在这里我们可以看到一个例子。
那么现在的步骤是什么样子呢?我们必须:
- 做一个“源”的安全备份实例(MariaDB)。最实用的/正常使用pt-show-grants。
- 一旦用户、角色等,创建,执行上述两个步骤,但附加条件是只有应用模式将导出/导入而不是内部的数据字典(如sys、mysql、information_schema等等)。
好了,让我们去的例子,看看它是看上去的那么简单。
|
1 |
CentOS7_2
192.168.0.71
(
CentOS
7.9
+
雷竞技下载官网
服务器
8.0.32- - - - - -24
)
CentOS7_3
192.168.0.72
(
CentOS
7.9
+
MariaDB
10.11.3
)
|
让我们创建表并插入数据。
|
1 |
MariaDB(测试)>
创建
表
人(PersonID
int
主键,姓
varchar(255),FirstName
varchar(255),地址
varchar(255),城市
varchar(255));
mysql>
插入
成
人
值
(1,“乔伊”,“哈”,“美国”,“n卡”);
mysql>
插入
成
人
值
(2,“好的”,‘G’,“参数”,“MZA”);
mysql>
插入
成
人
值
(3,“拿来”,“马特”,“参数”,“,”); |
让我们开始创建角色,用户,分配:
|
1 |
MariaDB((没有一个)]>
创建
角色role_can_read;
MariaDB((没有一个)]>
创建
角色role_can_write;
MariaDB((没有一个)]>
创建
角色role_can_all;
MariaDB((没有一个)]>
格兰特
选择
在
测试。*
来
role_can_read;
MariaDB((没有一个)]>
格兰特
插入,删除,更新
在
测试。*
来
role_can_write;
MariaDB((没有一个)]>
创建用户
user_want_read
确认的
“wantread”;
MariaDB((没有一个)]>
创建用户
user_want_write
确认的
“wantwrite”;
MariaDB((没有一个)]>
创建用户
user_want_all
确认的
“wantnall”;
MariaDB((没有一个)]>
格兰特
role_can_read
来
user_want_read;
MariaDB((没有一个)]>
格兰特
role_can_write
来
user_want_write;
MariaDB((没有一个)]>
格兰特
role_can_all
来
user_want_all; |
我们检查一切:
|
1 |
MariaDB((没有一个)]>
显示
奖助金
为
user_want_read;
MariaDB((没有一个)]>
显示
奖助金
为
user_want_write;
MariaDB((没有一个)]>
显示
奖助金
为
user_want_all;
|
这就是所有的魔法开始。
第三个服务器上,为了避免文件传输,等等,我们执行下面的命令:
一)安全的东西:
|
1 |
的某个地方
美元
mkdir
- - - - - -p
/家/雷竞技下载官网/MIGRATION_SECURITY
的某个地方
美元
cd
/家/雷竞技下载官网/MIGRATION_SECURITY
的某个地方
美元
mysql
- - - - - -h
192.168.0.72
- - - - - -u
根
- - - - - -proot
- - - - - -Bsne
“选择concat(如果不存在创建用户,用户,“@”“,”“主机”认同mysql_native_password为“”,authentication_string,“‘;’)从mysql。用户is_role = ' N '和用户mariadb < >”。sys工会所有选择concat(如果不存在创建角色,用户,“;”)从mysql。用户在is_role = ' Y ' order by 1;”
2
>/dev/零
>
step1
. sql
的某个地方
美元
mysql
- - - - - -h
192.168.0.72
- - - - - -u
根
- - - - - -proot
- - - - - -Bsne
“选择concat(改变用户如果存在,用户,“@”“,”“主机”认同mysql_native_password为“”,authentication_string,“‘;’)从mysql。用户在is_role = ' N '和用户< > mariadb.sys”
2
>/dev/零
>
步骤2
. sql
的某个地方
美元
pt- - - - - -显示- - - - - -奖助金
- - - - - -u
根
- - - - - -p
根
- - - - - -h
192.168.0.72
|
egrep
- - - - - -v
“拨款| |标识mariadb.sys |代理”
>
步骤3
. sql
的某个地方
美元
mysql
- - - - - -h
192.168.0.72
- - - - - -u
根
- - - - - -proot
- - - - - -Bsne
“选择concat(显示赠款,用户,“;”)从mysql。用户在is_role = ' Y ' order by 1;”
2
>/dev/零
|
grep
- - - - - -六世
公共
|
mysql
- - - - - -Bsn
- - - - - -h
192.168.0.72
- - - - - -u
根
- - - - - -proot
2
>/dev/零
|
sed
' s / /美元;/ g’
>
第四
. sql
的某个地方
美元
为
全国矿工工会
在
{
1 . . 4
}
;
做
mysql
- - - - - -h
192.168.0.71
- - - - - -u
根
- - - - - -proot
- - - - - -f
- - - - - -vve
“源一步NUM.sql美元”
;
完成
|
b)数据迁移的东西(澄清:“的某个地方“应该有足够的空间能够容纳我们想要迁移的数据)。
|
1 |
的某个地方
美元
mkdir
- - - - - -p
/家/雷竞技下载官网/MIGRATION_DATA
的某个地方
美元
cd
/家/雷竞技下载官网/MIGRATION_DATA
的某个地方
美元
mydumper
- - - - - -h
192.168.0.72
- - - - - -u
根
- - - - - -p
根
- - - - - -v
3
- - -数据库=测试
- - -outputdir
/家/雷竞技下载官网/MIGRATION_DATA/ |
就是这样。
现在你会说,你为什么不直接使用的输出MariaDB pt-show-grants和执行所有这些一系列的巫术或廉价把戏吗?我要告诉你,朋友:不幸的是,这个工具对MariaDB不是很友好。虽然体面生成“东西”作为输出,无疑它是不够的,该项目将失败。
看到pt-show-grants生成的输出(我过滤标题和评论,没有多少)MariaDB实例:
|
1 |
的某个地方美元pt- - - - - -
显示
- - - - - -
奖助金
- u根- p根- h192.168.0.72|egrep- v
“拨款|倾销”
格兰特
删除,
选择
在
“mysql”。“global_priv”
来
“mariadb.sys”@“localhost”; |
- 你看到所需的命令创建用户和密码身份验证方法Percona MySQL 8服务器吗?雷竞技下载官网我不(因此step1.sql)。
- 你看到任何可能使用的密码操作MariaDB命令但MySQL服务器上Percona 8 ?雷竞技下载官网我不这么认为(因此step2.sql)。
- 唯一的一步得到的效用是在角色分配(step3.sql)。
- 你看到赠款分配模式?我不(这就是为什么step4.sql)。
这是输出的pt-show-grants迁移实例(Percona服务器MySQL 8):雷竞技下载官网
|
1 |
的某个地方美元pt- - - - - -
显示
- - - - - -
奖助金
- u根- p根- h192.168.0.71|egrep- v
“授予| |标识mariadb.sys代理| |倾倒| ole”
创建
角色
如果不存在
“role_can_all”; |
这是应该是什么。
结论
自MariaDB已经远离MySQL,迁移回MySQL的生态系统,因此Percona MySQL服务器不是简单易懂。雷竞技下载官网由于同样的原因,雷竞技下载官网Percona工具包将无法协助迁移任务。这篇文章会给你所需要的技巧成功迁移。
当然,你总是有机会的lol赔率雷电竞 与任何迁移和请求援助。你也可以学习如何Percona专家可以帮助您迁雷竞技下载官网移到Percona MySQL服务器无缝在这里。
我希望你喜欢这个博客,和下一个再见!
雷竞技下载官网Percona MySQL是最完整,分布稳定、可伸缩的、安全的MySQL开源解决方案,提供企业级的数据库环境最关键业务应用程序…和它的免费使用!

你考虑的特殊吗<代码>——系统=用户代码>选择mariadb-dump吗?
从<代码>男人mariadb-dump代码>:
•用户-用户、角色和他们的资金输出创建用户,
创建角色,格兰特,并设置默认角色(改变用户mysql - 8.0 +)。
嘿,卡尔,
感谢你的阅读,使这个建议。我有几件事要告诉你:
在MariaDB转储
创建用户尝试MySQL 雷竞技下载官网/ Percona服务器
同时,你可能会问:“你为什么谈论角色最重要的是吗?”角色在MariaDB 10.2中引入的,转储看起来不太好
无论如何,谢谢你的建议。最好的,
费尔南多。
想要每周更新清单的最新博客文章?
现在订阅,我们将送你一个更新每周五下午1点等。
相关的博客文章
推荐的文章
2023年6月2日
供电网络:二十年与WordPress和MySQL开源发布
2023年6月1日
从MariaDB Percona服务器迁移MySQL雷竞技下载官网 8:安全巫术
2023年5月29日
灾难恢复Kubernetes PostgreSQL
最受欢迎文章
2023年3月15日
自动化Kubernetes MongoDB的物理备份
2023年1月17日
保持你的数据库安全Percona顾问雷竞技下载官网
2023年2月10日
雷竞技下载官网Percona XtraBackup现在支持我实例配置文件