MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở mạnh mẽ, nổi tiếng với độ tin cậy và khả năng mở rộng. CentOS Stream 9, một bản phân phối Linux theo kiểu phát hành liên tục, cung cấp một nền tảng linh hoạt để lưu trữ cơ sở dữ liệu MySQL. Trong hướng dẫn từng bước này, chúng tôi sẽ hướng dẫn bạn quy trình cài đặt MySQL 8 trên CentOS Stream 9 và cách tạo cơ sở dữ liệu cũng như bảng sau khi cài đặt MySQL. Kết hợp MySQL với CentOS Stream 9 giúp bạn tạo ra môi trường đáng tin cậy cho các ứng dụng và dịch vụ web dựa trên cơ sở dữ liệu.
Trước khi bắt đầu cài đặt, hãy đảm bảo bạn đã chuẩn bị những điều sau:
Truy Cập CentOS Stream 9 Server: Bạn cần có quyền SSH để truy cập vào máy chủ CentOS Stream 9. Nếu bạn chưa có, bạn có thể cân nhắc thiết lập một máy ảo hoặc sử dụng máy chủ đám mây.
Quyền Root hoặc Sudo: Bạn cần quyền root hoặc sudo trên máy chủ để cài đặt và cấu hình MySQL.
Cập Nhật Hệ Thống: Đảm bảo hệ thống CentOS Stream 9 của bạn đã được cập nhật bằng cách chạy lệnh sau:
sudo dnf update
Tải xuống gói cấu hình kho Yum MySQL:
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
Sau khi tải gói RPM, kích hoạt kho MySQL:
sudo dnf config-manager --enable mysql80-community
Cài đặt MySQL Server và client bằng lệnh sau:
sudo dnf install mysql-server
Khởi động dịch vụ MySQL và thiết lập khởi động cùng hệ thống:
sudo systemctl start mysqld
sudo systemctl enable mysqld
Lấy mật khẩu root MySQL ban đầu bằng lệnh sau:
sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'
Ghi lại mật khẩu này; bạn sẽ cần nó để đăng nhập vào MySQL ở bước tiếp theo.
Bảo mật cài đặt MySQL của bạn bằng cách chạy script cài đặt MySQL an toàn:
sudo mysql_secure_installation
Làm theo các hướng dẫn để cấu hình các thiết lập bảo mật cho cài đặt MySQL của bạn, bao gồm thay đổi mật khẩu root nếu bạn muốn.
mysql -u root -p
Bạn sẽ được yêu cầu nhập mật khẩu root mà bạn đã nhận được ở bước trước.
mysql> CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> CREATE USER 'wp_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> GRANT ALL ON wordpress_db.* TO wp_user @'%';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;