Mysql là một phần trong bộ tứ LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Để website hoạt động được ngoài code ra cần có cơ sở dữ liệu. Chính vì vậy mysql là một thức cực kì quan trọng.
Ở bài viết này mình sẽ hướng dẫn các bạn cài đặt mysql 8 trên ubuntu 20.04 bằng 100% command line.
Bước 1: Cài đặt mysql:
Đầu tiên chúng ta cần update ubuntu của mình trước bằng lệnh:
sudo apt update
Sau đó tiền hành cài đặt gói mysql – server
sudo apt install mysql-server
Database cực kì quan trọng nên bảo mật, đảm bảo an toàn cho nó là điều không thể thiếu. Nhưng khi các bạn chỉ run lệnh cài gói “mysql-server” thì nó đã được bỏ qua các thao tác nhắc bạn cài đặt bảo mật cho nó. Vì vậy phần tiếp theo mình sẽ hướng dẫn các bạn thiết lập bảo mật cho nó.
Bước 2: Cấu hình mysql
Như ở trên mình đã đề cập tới các bạn mới cài mysql thì nó không đề nghị mình thiết lập cấu hình, chúng ta phải tự động run cái script cấu hình như sau:
sudo mysql_secure_installation
Output
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
2
Output
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Sau khi chúng ta cấu hình bảo mật tài khoản xong. Thì mình sẽ hướng dẫn các bạn cấu hình tài khoản sử dụng.
Bước 3: Cấu hình tài khoản mysql.
Gõ lệnh sau để đăng nhập:
sudo mysql
1) Tạo tài khoản:
mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
Các bạn nhớ thay username bằng tên đăng nhập, host với 127.0.0.1 or localhost và cuôi cùng là password là mặc khẩu mình muốn.
Lưu ý giúp mình đặt cái password nên hash nó đi để đảm bảo tính an toàn. Ví dụ như:
6BHRMF6kGU6wN7tT
Mẹo để có các password hash thì các bạn sử dụng google search từ khoá : Strong Random Password Generator
Tiếp đó chúng ta sử dụng các website online để hash password.
2) Phân quyền tài khoản:
Phân quyền xem tài khoản của bạn được sử dụng cho database nào. Với kinh nghiệm của mình thì nên dùng 1 tài khoản cho 1 bộ database.
mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
Để phân quyền tài khoản abc sử dụng database test thì như sau:
mysql> GRANT PRIVILEGE ON test.* TO 'abc'@'localhost';
3) Cuối cùng gõ lệnh để lưu cài đặt:
mysql> FLUSH PRIVILEGES;
À cực kì quan trọng lệnh thoái trong mysql:
mysql> exit
Rồi giờ đăng nhập lại bằng cách:
mysql -u username -p
KẾT LUẬN:
Bài này mình đã hướng dẫn cơ bản các bạn cách cài đặt mysql trên server và cách chia quyền của nó để sử dụng. Các bạn tập làm vài lần là sẽ quen thôi.