-
Upgrade from MySQL 5.7 to 8.0 is supported. However, upgrade is only supported between General Availability (GA) releases. For MySQL 8.0, it is required that you upgrade from a MySQL 5.7 GA release (5.7.9 or higher). Upgrades from non-GA releases of MySQL 5.7 are not supported.
-
Upgrading to the latest release is recommended before upgrading to the next version. For example, upgrade to the latest MySQL 5.7 release before upgrading to MySQL 8.0.
-
Upgrade that skips versions is not supported. For example, upgrading directly from MySQL 5.6 to 8.0 is not supported.
-
Once a release series reaches General Availability (GA) status, upgrade within the release series (from one GA version to another GA version) is supported. For example, upgrading from MySQL 8.0.
x
to 8.0.y
is supported. (Upgrade involving development-status non-GA releases is not supported.) Skipping a release is also supported. For example, upgrading from MySQL 8.0.x
to 8.0.z
is supported. MySQL 8.0.11 is the first GA status release within the MySQL 8.0 release series.
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
MySQL 8 uses a global Just like a downgrade, you can upgrade using two methods:
You also should check a few prerequisites before the upgrade.
If there are any of these tables, change them to
Or remove the partitioning:
Just like the previous recipe, the following subsections will take you through the details with various systems, bundles, and so on. Here is an outline of the steps:
Here are the detailed steps:
This redo log was created with MySQL 5.7.18. Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/upgrading.html:
Upgrade the MySQL binaries or packages.
Uninstall the existing packages (refer to the Uninstalling MySQL 8 section) and install the new packages, which can be downloaded from If you have installed MySQL through binaries, you have to remove the symlink to the old version (refer to the Uninstalling MySQL 8 section) and do a fresh installation (refer to the Installing MySQL on Linux using generic binaries section). Start the MySQL 8.0 server (refer to the Starting or Stopping MySQL 8 to start MySQL section). If there are encrypted The server automatically detects whether The server creates a directory named Run the
Restart the MySQL server (refer to the Starting or Stopping MySQL 8 to start MySQL section). Here is an outline of the steps:
Here are the detailed steps:
About UsSince 1996, our company has been focusing on domain name registration, web hosting, server hosting, website construction, e-commerce and other Internet services, and constantly practicing the concept of "providing enterprise-level solutions and providing personalized service support". As a Dell Authorized Solution Provider, we also provide hardware product solutions associated with the company's services.
Contact UsAddress: No. 2, Jingwu Road, Zhengzhou City, Henan Province Phone: 0086-371-63520088 QQ:76257322 Website: 800188.com E-mail: LinksFollow us |