Triển khai MySQL 8.0.21 trên CentOS 7 sử dụng Yum Repository

1. Cấu hình kho lưu trữ chính thức

Để bắt đầu quá trình cài đặt, cần tải gói repository từ trang chủ của MySQL. Truy cập vào địa chỉ cung cấp gói yum cho CentOS và tải về file cấu hình phù hợp.

Thực hiện tải gói rpm bằng công cụ dòng lệnh:

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2. Cài đặt gói dịch vụ

Trước khi cài đặt mới, nên kiểm tra xem hệ thống có tồn tại phiên bản MySQL cũ nào không để tránh xung đột:

rpm -qa | grep mysql

Nếu không có xung đột, tiến hành cài đặt gói repository vừa tải về và cài đặt server MySQL:

yum localinstall -y mysql80-community-release-el7-3.noarch.rpm
yum install -y mysql-community-server

3. Quản lý dịch vụ hệ thống

Khởi động dịch vụ MySQL ngay lập tức:

systemctl start mysqld

Thiết lập để dịch vụ tự động khởi động cùng hệ điều hành và nạp lại cấu hình daemon:

systemctl enable mysqld
systemctl daemon-reload

4. Thiết lập mật khẩu và tài khoản

Trong quá trình cài đặt lần đầu, hệ thống sẽ tạo một mật khẩu tạm thời cho root. Truy xuất mật khẩu này từ file log:

grep 'temporary password' /var/log/mysqld.log

Sử dụng mật khẩu vừa lấy để đăng nhập vào hệ quản trị cơ sở dữ liệu:

mysql -uroot -p

MySQL 8.0 thay đổi cơ chế xác thực mặc định sang caching_sha2_password, điều này có thể gây khó khăn cho một số công cụ client cũ. Để tương thích, có thể chuyển về cơ chế cũ đồng thời đổi mật khẩu mới:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MatKhauMoiCuaBan';

Nếu gặp lỗi do chính sách mật khẩu quá nghiêm ngặt, cần điều chỉnh cấu hình validate password:

SET GLOBAL validate_password.policy=0;
SET GLOBAL validate_password.length=1;

Kiểm tra danh sách người dùng hiện có để xác nhận thay đổi:

SELECT host, user FROM mysql.user;

Để cho phép truy cập từ xa, cần tạo hoặc cấp quyền cho tài khoản root trên mọi host. Lưu ý kiểm tra quyền hạn hiện tại:

SELECT * FROM mysql.user \G

Nếu các quyền hạn (privileges) đang ở mức hạn chế, hãy cấp toàn quyền cho tài khoản root có thể kết nối từ bất kỳ đâu:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

Lưu ý: Nếu công cụ kết nối báo lỗi 1251, nguyên nhân thường do chênh lệch phiên bản plugin xác thực, cần đảm bảo câu lệnh ALTER USER đã được thực thi chính xác như hướng dẫn trên.

5. Cấu hình bộ ký tự

Để hỗ trợ tiếng Việt và các ký tự đa ngôn ngữ, chỉnh sửa file cấu hình chính tại /etc/my.cnf. Thêm các dòng sau vào nhóm [mysqld]:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

Khởi động lại dịch vụ để áp dụng thay đổi:

systemctl restart mysqld

Xác nhận lại cấu hình bộ ký tự đã được cập nhật thành công:

SHOW VARIABLES LIKE '%character%';

Thẻ: mysql-8 centos-7 yum-repository database-configuration linux-sysadmin

Đăng vào ngày 20 tháng 6 lúc 06:00