Hướng dẫn cài đặt và cấu hình MySQL 8 trên Linux


Oracle đã chính thức phát hành phiên bản MySQL 8 vào ngày 27/07/2018. MySQL 8.0 được quảng cáo có hiệu xuất nhanh hơn 2 lần so với phiên bản cũ trước đó. Vậy hãy cùng VinaSupport điểm qua các tính năng mới cũng như hướng dẫn cài đặt MySQL 8 từng bước trên Linux.

MySQL là gì?

MySQL là hệ quản trị CSDL lớn và được sử dụng rộng rãi nhất hiện nay. Và phiên bản MySQL 8.0 được xây dựng với việc cải tiến, cho phép các DBA và các developer thiết kế và triển khai trên các hệ thống thế hệ tiếp theo của Web, Nhúng, Mobile và ứng dụng Cloud.

Các tính năng mới của MySQL 8

1. Document Store

MySQL Document Store cho phép phát triển cả SQL và NoSQL sử dụng 1 CSDL duy nhất. Kiến trúc của MySQL Document Store trong MySQL 8.0 được thể hiện qua biểu đồ sau:

2. Transactional Data Dictionary

Một từ điển dữ liệu mới dựa trên các bảng giao dịch đang được phát triển cho MySQL Server. Dự án này là một bước tiến lớn, cải thiện nhiều khía cạnh của máy chủ. Từ điển dữ liệu giao dịch cung cấp một cách mới để truy cập siêu dữ liệu để sử dụng cho cả nhà phát triển máy chủ và trình cắm thêm

3. SQL Roles

Để quản lý quyền hạn một cách hiệu quả, MySQL 8.0 cung cấp hai đặc tính liên quan đến quyền hạn mới: MySQL Roles và Dynamic Privileges (Đặc quyền động). Phiên bản MySQL 7 trở về trước chỉ hỗ trợ Privileges.

MySQL Role là một tập hợp các quyền hạn, một user được gán 1 role thì chúng sẽ có đầy đủ các quyền hạn của Role đó.

Ví dụ:

– Để tạo Role trong MySQL các bạn dùng câu lệnh sau:

CREATE ROLE 'app_developer', 'app_read', 'app_write';

– Gán quyền hạn cho Role

GRANT ALL ON app_db.* TO 'app_developer';
GRANT SELECT ON app_db.* TO 'app_read';
GRANT INSERT, UPDATE, DELETE ON app_db.* TO 'app_write';

– Gán role lại cho User

GRANT 'app_developer' TO 'vinasupport_dev'@'localhost';
GRANT 'app_read' TO 'read_user1'@'localhost', 'read_vinasupport'@'localhost';
GRANT 'app_read', 'app_write' TO 'rw_vinasupport'@'localhost';

4. Default character là utf8mb4

Mặc định là ký tự utf8mb4 cho các ứng dụng di động phong phú hơn và các bộ ký tự quốc tế.

5. Common Table Expressions

Common Table Expressions hay còn gọi là  câu lệnh WITH là một tính năng mới của MySQL 8, tạm hiểu là 1 cách tạo View / bảng tạm thời để sử dụng trong một truy vấn đơn lẻ và có thể giúp cải thiện khả năng đọc của mã SQL.

6. Window Functions

MySQL hỗ trợ các window functions cho mỗi hàng từ một truy vấn, thực hiện một phép tính bằng cách sử dụng các hàng liên quan đến hàng đó. Từ đó để giảm độ phức tạp của mã và giúp các developers làm việc hiệu quả hơn.

7. Invisible Indexes (Chỉ mục ẩn)

Chỉ mục ẩn để quản lý tốt hơn các nâng cấp phần mềm và thay đổi cơ sở dữ liệu cho các ứng dụng chạy 24×7.

Để tạo chỉ mục ẩn, sử dụng từ khóa INVISIBLE

CREATE TABLE t1 (
  i INT,
  j INT,
  k INT,
  INDEX i_idx (i) INVISIBLE
) ENGINE = InnoDB;
CREATE INDEX j_idx ON t1 (j) INVISIBLE;
ALTER TABLE t1 ADD INDEX k_idx (k) INVISIBLE;

8. Descending Indexes (Chỉ số giảm dần)

Chỉ số giảm dần để loại bỏ nhu cầu phân loại kết quả và dẫn đến cải thiện hiệu suất.

CREATE TABLE t (
  c1 INT, c2 INT,
  INDEX idx1 (c1 ASC, c2 ASC),
  INDEX idx2 (c1 ASC, c2 DESC),
  INDEX idx3 (c1 DESC, c2 ASC),
  INDEX idx4 (c1 DESC, c2 DESC)
);

Các tính năng đã được cải thiện trong MySQL 8

  • Hỗ trợ JSON với nhiều bổ sung bao gồm hàm JSON_TABLE () chấp nhận dữ liệu JSON và trả về nó dưới dạng bảng quan hệ.
  • Lên đến 2x nhanh hơn và đạt tối đa 1,8 triệu truy vấn / giây.
  • OpenSSL là thư viện TLS / SSL mặc định trong MySQL.
  • Lược đồ hiệu suất (Performance Schema) với các truy vấn nhanh hơn đến 30 lần.
  • Lược đồ thông tin (Information Schema) với các truy vấn nhanh hơn tới 100 lần.
  • GIS được tăng cường để hỗ trợ các hệ thống địa lý và tham chiếu không gian (SRS).
  • Nhân rộng và cụm InnoDB cho quy mô tốt hơn trong các ứng dụng có khối lượng lớn

Hướng dẫn cài đặt MySQL8 trên máy chủ Ubuntu 18.04 LTS

Bước 1: Thiết lập MySQL APT Repository

Repository của MySQL ở đây: https://dev.mysql.com/downloads/repo/apt/

Các bạn có thể download về để cài đặt hoặc sử dụng command sau để cài đặt (Chú ý version của MySQL APT config)

wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb

Khi bạn chạy command trên, nó sẽ hiển thị cửa sổ xác nhận, chọn OK để tiếp tục. Sử dụng phim lên xuống và phím <Tab> để lựa chọn

Update lại repository trên Ubuntu sử dụng command sau:

sudo apt update

Kiểm tra xem version của MySQL đã thực sự là 8 chưa? sử dụng command sau: sudo apt-cache show mysql-community-server

Bước 2: Cài đặt MySQL 8

Sau khi thiết lập MySQL APT Repository thì việc cài đặt MySQL 8 trển nên rất dễ đang bằng command sau:

sudo apt install mysql-community-server mysql-community-client

Trong quá trình cài đặt sẽ có 1 form xuất hiện yêu cầu bạn nhập password cho tài khoản Root

Sau khi điền password và retype-password, môt cửa sổ yêu cầu xác nhận lại -> chọn <OK> để tiếp tục.

Chọn “Use Strong Password Encryption (RECOMMEND)” -> Chọn <OK> để tiếp tục

Bước 3: Để xác nhận MySQL đã cài đặt thành công, chúng ta thử kết nối tới MySQL Server bằng command sau:

/usr/bin/mysql -u root -p

Nhập password của tài khoản root, nếu đc kết quả giống như hình bên dưới là bạn đã kết nối thành công tới MySQL Server

 

Nguồn: vinasupport.com

 

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web