Bản sẵn có chung của MySQL 8.0 đã được công bố vào tháng 4 và nó đi kèm với một loạt tính năng mới. Bạn có thể tìm thấy tổng quan về các tính năng và cải tiến mới được thực hiện trong MySQL 8.0 trong blog sau .
Máy chủ có thể được nâng cấp bằng cách thực hiện nâng cấp INPLACE hoặc nâng cấp LOGICAL. Nâng cấp INPLACE bao gồm việc tắt máy chủ MySQL 5.7, thay thế các tệp nhị phân cũ bằng các tệp nhị phân MySQL 8.0 và sau đó khởi động máy chủ MySQL 8.0 trên thư mục dữ liệu cũ. Nâng cấp LOGICAL bao gồm xuất SQL từ phiên bản MySQL 5.7 bằng cách sử dụng tiện ích sao lưu hoặc xuất như mysqldump hoặc mysqlpump , cài đặt các tệp nhị phân MySQL 8.0, sau đó áp dụng SQL cho phiên bản MySQL mới.
Nâng cấp INPLACE nhanh hơn nâng cấp LOGICAL vì không yêu cầu tải cơ sở dữ liệu sau khi cài đặt phiên bản MySQL 8.0. Ngoài ra, trong khi tải cơ sở dữ liệu trong quá trình nâng cấp LOGICAL, có thể gặp phải lỗi do sự không tương thích dẫn đến phải sửa đổi tệp SQL đã xuất.
Bài đăng trên blog này mô tả các bước đơn giản cần tuân theo để thực hiện nâng cấp INPLACE lên MySQL 8.0.
npgopala@siv20$ ./mysqlsh root:@localhost:3307 -e "util.checkForServerUpgrade();"
mysqlsh: [Warning] Using a password on the command line interface can be insecure.
The MySQL server at localhost:3307 will now be checked for compatibility issues for upgrade to MySQL 8.0...
MySQL version: 5.7.24 - Source distribution
1) Usage of db objects with names conflicting with reserved keywords in 8.0
No issues found
2) Usage of utf8mb3 charset
No issues found
3) Usage of use ZEROFILL/display length type attributes
No issues found
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
No known compatibility errors or issues for upgrading the target server to MySQL 8 were found.
npgopala@siv20$
2. Tiện ích không báo lỗi nào cần sửa. Vì vậy, tôi có thể tiến hành nâng cấp máy chủ lên MySQL 8.0 bằng cách thay thế các tệp nhị phân cũ.Tại thời điểm này, hãy sao lưu thư mục dữ liệu bằng tiện ích sao lưu hoặc xuất như mysqldump hoặc mysqlpump . Điều quan trọng là bảo vệ dữ liệu của bạn bằng cách tạo bản sao lưu cơ sở dữ liệu hiện tại của bạn, bao gồm cơ sở dữ liệu hệ thống mysql và các tệp nhật ký.
3. Có thể tải xuống các tệp nhị phân MySQL 8.0 từ đây và máy chủ MySQL 8.0 có thể được khởi động trên thư mục dữ liệu cũ. Tôi đã bắt đầu với cấu hình mặc định ở đây:
npgopala@siv20:~/workspace1/mysql-trunk/dbg-8.0$ ./runtime_output_directory/mysqld --basedir=/home/npgopala/workspace1/mysql-trunk/dbg-8.0 --datadir=/home/npgopala/data57 --log-error=/home/npgopala/workspace1/mysql-trunk/dbg-8.0/mysql1.log --socket=/home/npgopala/workspace1/mysql-trunk/dbg-8.0/mysql.sock --port=3307 --gdb --user=`whoami` --console --lc-messages-dir=./sql/share
4. Máy chủ đã hoạt động, bây giờ tôi chạy ‘mysql_upgrade’ để kiểm tra và nâng cấp tất cả các bảng hệ thống cũng như kiểm tra các bảng người dùng.
npgopala@siv20$ ./runtime_output_directory/mysql_upgrade --socket=/home/npgopala/workspace1/mysql-trunk/dbg-8.0/mysql.sock --port=3307 --user=root
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Upgrading system table data.
Checking system database.
mysql.columns_priv OK
mysql.component OK
mysql.db OK
mysql.default_roles OK
mysql.engine_cost OK
mysql.func OK
mysql.general_log OK
mysql.global_grants OK
mysql.gtid_executed OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.ndb_binlog_index OK
mysql.password_history OK
mysql.plugin OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.role_edges OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
Found outdated sys schema version 1.5.0.
Upgrading the sys schema.
Checking databases.
events.event_table OK
events.event_table_2 OK
foreign_keys.t1 OK
foreign_keys.t2 OK
foreign_keys.t3 OK
foreign_keys.t4 OK
foreign_keys.t5 OK
foreign_keys.t6 OK
foreign_keys.t7 OK
foreign_keys.t8 OK
partitions.p5_sub OK
sp.t OK
sys.sys_config OK
tablespace.t1 OK
tablespace.t2 OK
tablespace.t3 OK
tablespace.t4 OK
test.55_temporal OK
test.child OK
test.geom OK
test.jemp OK
test.jemp_myisam OK
test.opening_lines OK
test.parent OK
test.t_blackhole OK
test.t_blob OK
test.t_blob_myisam OK
test.t_compressed OK
test.t_compressed2 OK
test.t_compressed3 OK
test.t_dynamic OK
test.t_gen_stored OK
test.t_gen_stored_myisam OK
test.t_gen_stored_myisam2 OK
test.t_index OK
test.t_json OK
test.t_myisam_compressed OK
test.t_sc~!@#$%^&*( OK
test.vt2 OK
triggers.t1 OK
triggers.t2 OK
view_with_column_names.t1 OK
Upgrade process completed successfully.
Checking if update is needed.
npgopala@siv20$
Các bảng hệ thống đã được nâng cấp và các bảng người dùng đã được kiểm tra.
5. Hãy để tôi bắt đầu kết nối máy khách và kiểm tra xem tất cả cơ sở dữ liệu cũ của tôi có hiện diện hay không.
npgopala@siv20$ ./runtime_output_directory/mysql --socket=/home/npgopala/workspace1/mysql-trunk/dbg-8.0/mysql.sock --port=3307 --user=root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.12 Source distribution
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+------------------------+
| Database |
+------------------------+
| events |
| foreign_keys |
| information_schema |
| mysql |
| partitions |
| performance_schema |
| sp |
| sys |
| tablespace |
| test |
| triggers |
| view_with_column_names |
+------------------------+
12 rows in set (0.00 sec)
mysql>
6. Tắt máy chủ và khởi động máy chủ. Kiểm tra tệp nhật ký để đảm bảo không có lỗi nào được báo cáo.
2018-06-06T09:11:28.167169Z 0 [System] [MY-010116] [Server] /home/npgopala/workspace1/mysql-trunk/dbg-8.0/runtime_output_directory/mysqld (mysqld 8.0.12) starting as process 27147
2018-06-06T09:11:30.261139Z 0 [System] [MY-010931] [Server] /home/npgopala/workspace1/mysql-trunk/dbg-8.0/runtime_output_directory/mysqld: ready for connections. Version: '8.0.12' socket: '/home/npgopala/workspace1/mysql-trunk/dbg-8.0/mysql.sock' port: 3307 Source distribution
Điều này đánh dấu sự hoàn thành của quá trình nâng cấp INPLACE. Nếu quá trình nâng cấp không thành công do một số lỗi, máy chủ sẽ hoàn nguyên mọi thay đổi đối với thư mục dữ liệu. Nỗ lực nâng cấp lại lên MySQL 8.0 bao gồm:
Trong blog tiếp theo của tôi, tôi sẽ thảo luận về các vấn đề có thể gặp phải khi thực hiện nâng cấp lên MySQL 8.0. Trong khi đó, vui lòng xem lại các điều kiện tiên quyết để nâng cấp và những thay đổi ảnh hưởng đến việc nâng cấp lên MySQL 8.0 trước khi nâng cấp.
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE