我的上一篇博文,雷竞技下载官网Percona实用程序简化主要MySQL版本升级、详细Percona工具箱的工具,帮助我们与主要MySQL版本升级。雷竞技下载官网pt-upgrade工具艾滋病测试应用程序中查询并生成报告每个问题如何执行各种版本的MySQL服务器上运行。
MySQL壳升级之间的兼容性测试检查器是一个工具,帮助MySQL 5.7实例和MySQL 8.0升级,这是mysql-shell-utilities的一部分。util.checkForServerUpgrade()函数检查是否MySQL 5.7实例准备MySQL 8.0升级并生成一个报告警告,错误,和通知准备升级到当前的MySQL 5.7安装MySQL 8.0。
我们可以运行这个升级检查器工具在目前MySQL 5.7环境生成报告;我建议在任何运行它的副本实例相同的配置生产。
用于执行升级检查器工具的用户帐户必须拥有所有权利壳牌8.0.20 MySQL。用户帐户需要重载、流程和MySQL壳牌8.0.21选择功能。
如何使用升级检查器工具生成一个报告吗
使用升级检查实用工具生成一个报告我们可以登录到shell提示符或直接从命令行执行。
退出mysqlsh命令提示符,键入\退出。
|
1
2
|
MySQL
JS
>
\
退出
再见
!
|
pt-upgrade和升级检查器工具做同样的测试吗?不!
不要混淆pt-upgrade工具升级检查器工具因为它们用于不同的主版本升级测试。升级检查器工具选择的MySQL服务器上执行各种测试确定升级是否成功;然而,这个工具并不确认升级是否兼容应用程序查询或例程。
它检查文件和MySQL服务器变量都my . cnf中所做?
实用程序可以寻找系统配置文件中声明的变量)(my . cnf中所做但目标MySQL服务器版本中删除,以及系统变量在配置文件中没有定义,但有不同的默认值在目标MySQL服务器版本。你必须给的文件路径配置文件在执行checkForServerUpgrade()对这些检查。然而,工具无法识别的变量删除文件在my . cnf中所做但在MySQL服务器设置。
让我们从/etc/percona-server.conf.d /删除query_c雷竞技下载官网ache_type mysqld.cnf并运行命令。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
26
27
28
29日
30.
31日
|
]
# mysql -uroot - p - e“显示变量在Variable_Name (‘query_cache_type’,‘query_cache_size’)”
输入
密码
:
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - - - - -
+
|
Variable_name
|
价值
|
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - - - - -
+
|
query_cache_size
|
1048576
|
|
query_cache_type
|
在
|
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - - - - -
+
]
#猫/etc/my.cnf
#
5.7 # 雷竞技下载官网Percona服务器配置文件。
#
#
# *重要:额外的设置,可以覆盖这个文件!
#文件必须与“.cnf”结束,否则他们会被忽略。
#请任何适当的截文件编辑和修改
#下面。
#
!
includedir
/
等
/
我的
.cnf
.d
/
!
includedir
/
等
/
雷竞技下载官网
- - - - - -
服务器
. conf
.d
/
]
#
删除
query_cache_type
变量
从
mysqld
.cnf
:
]
# sed - /etc/percona-server.conf.d /雷竞技下载官网 mysqld.cnf / query_cache_type / d
]
#
]
# grep - i查询/etc/my.cnf /etc/perc雷竞技下载官网ona-server.conf.d / mysqld.cnf
/
等
/
雷竞技下载官网
- - - - - -
服务器
. conf
.d
/
mysqld
.cnf
:
query_cache_size
=
5058320
]
#
|
作为查询缓存类型变量已被删除,在my . cnf中所做的工具是无法察觉。
|
1
2
3
4
5
6
7
8
9
|
# mysqlsh - util checkForServerUpgrade '(电子邮件保护):3306”——目标版本= 8.0.29 config-path | grep - b = / etc / my . cnf中所做6 -“query_cache”
15
)
删除
系统
变量
错误
:
后
系统
变量
那
是
检测到
作为
被
使用
将
是
删除
。
请
更新
你的
系统
来
不
依赖
在
他们
之前
的
升级
。
更多的
信息
:
https
:
/
/
dev
.mysql
com
/
医生
/
refman
/
8.0
/
在
/
添加
- - - - - -
弃用
- - - - - -
删除
. html
# optvars-removed
query_cache_size
- - - - - -
是
集
和
将
是
删除
错误
:
1
错误
是
发现
。
请
正确的
这些
问题
之前
升级
来
避免
兼容性
问题
。
|
JSON格式的报告看起来是这样的:
注意:要使博客更具可读性,我缩短了报告。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20.
21
22
23
24
25
26
27
28
29日
30.
31日
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61年
62年
63年
64年
65年
66年
67年
68年
69年
70年
71年
72年
73年
74年
75年
76年
77年
78年
79年
80年
81年
82年
83年
84年
85年
86年
87年
88年
89年
90年
91年
92年
93年
94年
|
# mysqlsh - util checkForServerUpgrade '(电子邮件保护):3306”——目标版本= 8.0.29 config-path——输出格式= = / etc / my . cnf中所做JSON
{
“serverAddress”
:
“localhost: 3306”
,
“serverVersion”
:
“5.7.39-42——P雷竞技下载官网ercona服务器(GPL),发布42,修订b0a7dc2da2e”
,
“targetVersion”
:
“8.0.29”
,
“errorCount”
:
1
,
“warningCount”
:
27
,
“noticeCount”
:
1
,
“摘要”
:
“1错误被发现。请在升级前纠正这些问题,以避免兼容性问题。”
,
“checksPerformed”
:
(
{
“id”
:
“oldTemporalCheck”
,
“标题”
:
“使用老时间类型”
,
“状态”
:
“OK”
,
“detectedProblems”
:
(
]
}
,
{
“id”
:
“reservedKeywordsCheck”
,
“标题”
:
“使用db对象与名称冲突的新保留关键字”
,
“状态”
:
“OK”
,
“detectedProblems”
:
(
]
}
,
…
{
“id”
:
“sqlModeFlagCheck”
,
“标题”
:
“使用过时sql_mode旗帜”
,
“状态”
:
“OK”
,
“描述”
:
注意:以下持续sql_mode DB对象有过时的选项,这将在升级到8.0了。”
,
“documentationLink”
:
“https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html # mysql-nutshell-removals”
,
“detectedProblems”
:
(
{
“水平”
:
“通知”
,
“dbObject”
:
“全球系统变量sql_mode”
,
“描述”
:
“使用过时NO_AUTO_CREATE_USER定义选项”
}
]
}
,
{
“id”
:
“enumSetElementLenghtCheck”
,
“标题”
:
“ENUM /设置超过255字符的列定义包含元素”
,
“状态”
:
“OK”
,
“detectedProblems”
:
(
]
}
,
…
{
“id”
:
“removedSysVars”
,
“标题”
:
“移除系统变量”
,
“状态”
:
“OK”
,
“描述”
:
“错误:系统变量后,被发现为使用将被删除。请更新你的系统升级之前不依赖他们。"
,
“documentationLink”
:
“https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html # optvars-removed”
,
“detectedProblems”
:
(
{
“水平”
:
“错误”
,
“dbObject”
:
“query_cache_size”
,
“描述”
:
“设置和将被删除”
}
]
}
,
{
“id”
:
“sysVarsNewDefaults”
,
“标题”
:
“系统变量和新的默认值”
,
“状态”
:
“OK”
,
“描述”
:
“警告:系统变量后,没有在你的配置文件将会有新的定义默认值。请检查如果你依靠他们的当前值,如果是这样定义他们在执行升级之前。”
,
“documentationLink”
:
“https://mysqlserverteam.com/new-defaults-in-mysql-8-0/”
,
“detectedProblems”
:
(
{
“水平”
:
“警告”
,
“dbObject”
:
“back_log”
,
“描述”
:
“默认值将会改变”
}
,
{
“水平”
:
“警告”
,
“dbObject”
:
“innodb_max_dirty_pages_pct”
,
“描述”
:
“默认值将改变从75年(%)90年(%)”
}
]
}
,
{
“id”
:
“zeroDatesCheck”
,
“标题”
:
“零日期,日期时间,时间戳值”
,
“状态”
:
“OK”
,
“detectedProblems”
:
(
]
}
,
…
]
,
“manualChecks”
:
(
{
“id”
:
“defaultAuthenticationPlugin”
,
“标题”
:
“新的默认身份验证插件的考虑”
,
“描述”
:
“警告:新的默认身份验证插件“caching_sha2_password”提供了更安全的密码哈希比之前使用“mysql_native_password”(以及后续改进的客户端连接的身份验证)。然而,它还具有兼容性的影响,可能会影响现有的MySQL安装。如果你的MySQL安装必须pre - 8.0客户端和服务升级后你遇到兼容性问题,解决这些问题最简单的方法是重新配置服务器恢复到以前的默认验证插件(mysql_native_password)。例如,使用这些线在服务器选项文件:\ n \ n (mysqld) \ ndefault_authentication_plugin = mysql_native_password \ n \ nHowever,设置应该被看作是暂时的,而不是作为一个长期或永久的解决方案,因为它会导致创造的新账户设置实际上放弃改进的安全认证。\ nIf你使用复制请花点时间去了解身份验证插件的变化可能会影响你。”
,
“documentationLink”
:
“https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html upgrade-caching-sha2-password-compatibility-issues \ nhttps: / /dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html # upgrade-caching-sha2-password-replication”
}
]
}
|
请阅读丹尼尔·古兹曼布尔戈斯找出更多有关的博客升级检查器工具并点击链接了解更多的pt-upgrade测试。
主要版本升级之前,应用程序查询测试和配置检查不可避免的任务,和pt-upgrade“升级检查器效用”很有帮助。





