We are really excited about MySQL 8.0 new features (https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html) and our consultants spend several hours weekly, testing new features and doing research on how best we can create value for our customers from having those in production. Being an pure-play MySQL consulting, support and remote DBA services company, We are fully accountable for our customer database infrastructure operations performance, scalability, high availability and reliability. As we are aggressive about gaining maximum results from MySQL 8 investments made by our customers, We are equally conservative (our customer data reliability is critical for us !) on adopting new features, until we are fully confident after several rounds of testing (at different scales on multiple platforms) and technical review (we engage both internal and external consultants for acceptance) and acceptance before deployment in production infrastructure. In the previous versions of MySQL, before every upgrade our consultants manually spend several hours testing compatibility but MySQL 8 made this simple by introducing “upgrade checker” javascript with MySQL Shell 8.0.11 , In this blog we are writing about “upgrade checker” utility and upgrade from MySQL 5.7 to MySQL 8.0 .
Using MySQL Shell 8.0.11 “upgrade checker”
Typical “upgrade checker” run will look similar to this:
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
95
96
97
98
|
MySQL JS > util.checkForServerUpgrade("root@localhost:3306")
Please provide the password for 'root@localhost:3306': **********
The MySQL server at localhost:3306 will now be checked for compatibility issues for upgrade to MySQL 8.0...
MySQL version: 5.7.22-log - MySQL Community Server (GPL)
1) Usage of db objects with names conflicting with reserved keywords in 8.0
No issues found
2) Usage of utf8mb3 charset
Warning: The following objects use the utf8mb3 character set. It is recommended to convert them to use utf8mb4 instead, for improved Unicode support.
sakila.actor.first_name - column's default character set: utf8
sakila.actor.last_name - column's default character set: utf8
sakila.actor_info.first_name - column's default character set: utf8
sakila.actor_info.last_name - column's default character set: utf8
sakila.actor_info.film_info - column's default character set: utf8
sakila.address.address - column's default character set: utf8
sakila.address.address2 - column's default character set: utf8
sakila.address.district - column's default character set: utf8
sakila.address.postal_code - column's default character set: utf8
sakila.address.phone - column's default character set: utf8
sakila.category.name - column's default character set: utf8
sakila.city.city - column's default character set: utf8
sakila.country.country - column's default character set: utf8
sakila.customer.first_name - column's default character set: utf8
sakila.customer.last_name - column's default character set: utf8
sakila.customer.email - column's default character set: utf8
sakila.customer_list.name - column's default character set: utf8
sakila.customer_list.address - column's default character set: utf8
sakila.customer_list.zip code - column's default character set: utf8
sakila.customer_list.phone - column's default character set: utf8
sakila.customer_list.city - column's default character set: utf8
sakila.customer_list.country - column's default character set: utf8
sakila.customer_list.notes - column's default character set: utf8
sakila.film.title - column's default character set: utf8
sakila.film.description - column's default character set: utf8
sakila.film.rating - column's default character set: utf8
sakila.film.special_features - column's default character set: utf8
sakila.film_list.title - column's default character set: utf8
sakila.film_list.description - column's default character set: utf8
sakila.film_list.category - column's default character set: utf8
sakila.film_list.rating - column's default character set: utf8
sakila.film_list.actors - column's default character set: utf8
sakila.film_text.title - column's default character set: utf8
sakila.film_text.description - column's default character set: utf8
sakila.language.name - column's default character set: utf8
sakila.nicer_but_slower_film_list.title - column's default character set: utf8
sakila.nicer_but_slower_film_list.description - column's default character set: utf8
sakila.nicer_but_slower_film_list.category - column's default character set: utf8
sakila.nicer_but_slower_film_list.rating - column's default character set: utf8
sakila.nicer_but_slower_film_list.actors - column's default character set: utf8
sakila.sales_by_film_category.category - column's default character set: utf8
sakila.sales_by_store.store - column's default character set: utf8
sakila.sales_by_store.manager - column's default character set: utf8
sakila.staff.first_name - column's default character set: utf8
sakila.staff.last_name - column's default character set: utf8
sakila.staff.email - column's default character set: utf8
sakila.staff.username - column's default character set: utf8
sakila.staff.password - column's default character set: utf8
sakila.staff_list.name - column's default character set: utf8
sakila.staff_list.address - column's default character set: utf8
sakila.staff_list.zip code - column's default character set: utf8
sakila.staff_list.phone - column's default character set: utf8
sakila.staff_list.city - column's default character set: utf8
sakila.staff_list.country - column's default character set: utf8
3) Usage of use ZEROFILL/display length type attributes
Notice: The following table columns specify a ZEROFILL/display length attributes. Please be aware that they will be ignored in MySQL 8.0
sakila.customer.active - tinyint(1)
sakila.staff.active - tinyint(1)
4) Issues reported by 'check table x for upgrade' command
No issues found
5) Table names in the mysql schema conflicting with new tables in 8.0
No issues found
6) Usage of old temporal type
No issues found
7) Foreign key constraint names longer than 64 characters
No issues found
8) Usage of obsolete MAXDB sql_mode flag
No issues found
9) Usage of obsolete sql_mode flags
No issues found
10) Usage of partitioned tables in shared tablespaces
No issues found
11) Usage of removed functions
No issues found
公司简介 备案号: 豫ICP备05004936号-1 联系方式地址:河南省郑州市经五路2号 电话:0371-63520088 QQ:76257322 网站:800188.com 电邮: 友情链接关注我们 |