1. An Nguyen

    An Nguyen bụi Ban quản trị

    14/9/18
    #1
    Mới đây MySQL từ phiên bản 5.7 đã ra mắt phiên bản MySQL 8.0, bỏ qua mấy con số lận. Phiên bản mới cho tốc độ nhanh x2 lần bản cũ, hỗ trợ NoSQL, utf8mb4 và vố số cải tiến khác (xem thêm chi tiết)

    upload_2018-9-14_1-39-8.png

    Với bạn nào đang chạy website với MySQL, thì việc đầu tiên cần làm là chúng ta phải upgrade (nâng cấp) MySQL ngay lập tức.

    Bài viết này mình sẽ hướng dẫn các bạn nâng cấp MySQL 5.7 lên MySQL 8.0 trên nền tảng Ubuntu 18.04 thông qua apt (Debian cũng tương tự)


    Trước khi nâng cấp MySQL 8.0 cần lưu ý vài điều:

    - Nâng cấp cần phải tuần tự qua từng phiên bản, ví dụ từ mysql 5.6, cần nâng cấp lên 5.7 trước khi nâng cấp tiếp mysql 8.0.

    - Backup database trước khi nâng cấp, bởi vì sau khi nâng cấp sẽ không thể hạ cấp mysql từ 8.0 xuống 5.7 được nữa, nên backup bằng dòng lệnh mysql , xem thêm bài viết:
    Backup và restore Mysql cực kỳ đơn giản trong Ubuntu


    - Kiểm tra xem liệu website của bạn đã tương thích với MySQL mới không, nếu sử dụng 1 số mã nguồn như Wordpress, Xenforo, Joomla thì cần kiểm tra phiên bản mới nhất các mã nguồn website đã hỗ trợ MySQL 8.0 chưa.


    Tiến hành nâng cấp MySQL 8.0

    1. Thêm gói package mysql vào hệ thống
    Vào trang http://dev.mysql.com/downloads/repo/apt/, package hiện tại là mysql-apt-config_0.8.10-1_all.deb
    upload_2018-9-14_2-35-52.png

    Tải về package về bằng lệnh wget
    Mã (Bash):
    1. wget https://repo.mysql.com//mysql-apt-config_0.8.10-1_all.deb
    chạy tiếp dòng lệnh để add package vào hệ thống, với tên package vừa chép ở trên:
    Mã (Bash):
    1. sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb
    Chọn MySQL Server & Cluster và nhấn Enter để tiếp tục
    upload_2018-9-15_12-50-8.png

    Chọn tiếp mysql-8.0 và nhấn Enter
    upload_2018-9-15_12-49-37.png

    2. Cập nhật lại các gói apt qua dòng lệnh

    Mã (Bash):
    1. sudo apt-get update

    3. Nâng cấp MySQL với dòng lệnh
    Chạy dòng lệnh sau để bắt đầu nâng cấp mysql mới nhất,
    Mã (Bash):
    1. sudo apt-get install mysql-server

    4. Kiểm tra lại phiên bản mysql đã cài đặt trên máy của bạn
    Mysql đã hiện version 8.0.12
    Mã (Bash):
    1. dpkg -l | grep mysql | grep ii
    2. ii  mysql-apt-config                  0.8.10-1                                    all          Auto configuration for MySQL APT Repo.
    3. ii  mysql-client                      8.0.12-1ubuntu18.04                         amd64        MySQL Client meta package depending on latest version
    4. ii  mysql-common                      8.0.12-1ubuntu18.04                         amd64        MySQL Common
    5. ii  mysql-community-client            8.0.12-1ubuntu18.04                         amd64        MySQL Client
    6. ii  mysql-community-client-core       8.0.12-1ubuntu18.04                         amd64        MySQL Client Core Binaries
    7. ii  mysql-community-server            8.0.12-1ubuntu18.04                         amd64        MySQL Server
    8. ii  mysql-community-server-core       8.0.12-1ubuntu18.04                         amd64        MySQL Server Core Binaires
    9. ii  mysql-server                      8.0.12-1ubuntu18.04                         amd64        MySQL Server meta package depending on latest version
    10. ii  php-mysql                         1:7.2+60ubuntu1                             all          MySQL module for PHP [default]
    11. ii  php7.2-mysql                      7.2.7-0ubuntu0.18.04.2                      amd64        MySQL module for PHP
    Sau khi cài đặt xong, restart lại server

    5. Kiểm tra và upgrade các table với mysql_upgrade


    Mỗi lần nâng cấp (upgrade) MySQL cần chạy lại lệnh mysql_upgrade

    Chi tiết lần lượt chạy các lệnh sau:
    Mã (Bash):
    1. mysql -u root -p
    2. mysql> SET GLOBAL innodb_fast_shutdown = 1;
    3. mysql_upgrade -u root -p

    MỘT VÀI LƯU Ý

    Mặc định MySQL 8 sử dụng thiết lập default_authentication_plugin caching_sha2_password để cung cấp khả năng hash password mạnh mẽ và bảo mật hơn mysql_native_password cũ, nên nếu gặp vấn để không tương thích với website của bạn thì nên chuyển về sử dụng mysql_native_password cho đến khi web của bạn tương thích hoàn toàn.

    Để sử dụng thiết lập mysql_native_password:
    Mở file /etc/mysql/mysql.conf.d/mysqld.cnf và thêm dòng bên dưới và lưu lại

    Mã (Bash):
    1. [mysqld]
    2. default_authentication_plugin=mysql_native_password
    Xong lưu lại và restart lại MySQL
    Mã (Text):
    1. sudo service mysql restart
     
    Sửa lần cuối: 19/9/18 lúc 16:29
    Đang tải...
Đã lưu nháp Draft deleted
Đang tải...