Gái như khởi tạo 1 website thật đơn giản "Database Mysql & Nginx" thật đơn giản ep-7!

Sau khi bạn đã có được nginx - php thì việc còn lại là bạn phải có một databases để lưu trử dữ liệu hình ảnh các thứ.

Có rất nhiều databases nhưng ở đây tôi chọn mysql vì sắp tới tôi muốn làm một website về blog và PHP là ngôn ngữ nên tôi chọn nó.

Còn nhiều databases khác như:

Nói chung mỗi database sẽ phù họp với từng loại website và ngôn ngữ mà bạn chọn, phần này không dám chém vì mình phải có website đơn giản trướt cái đã.

Cài đặt Mysql

Đầu tiên ta cũng sẽ cài đặt nó nhé

sudo apt-get install mysql php-mysql
mysql --version

php-mysql là phần mở rộng để php giao tiếp với mysql

Tiếp theo là tìm file mysql_secure_installation và chạy nó

which mysql_secure_installation
sudo /usr/bin/mysql_secure_installation

alt text

Vì chúng ta chỉ mới cài đặt mysql mà chưa thiết lập cho nó. Có nghĩa là mysql cũng cần có một user để đăng nhập quản lý giống như vps nhưng 2 user root này hoàn toàn khác nhau.

Sau khi chạy nó sẽ hỏi mình password. Do bạn chưa thiết lập mật khẩu root cho MySQL nên ấn Enter mà không cần nhập gì cả

Enter current password for root (enter for none):

Tiếp tục nó sẽ hỏi bạn muốn thiết lập mật khẩu cho user root hay không, gõ Y enter và nhập mật khẩu của bạn cucogai chẳng hạn.

Set root password? [Y/n] y

Cuối cùng nó sẽ hỏi thêm 4 câu hỏi nữa. Nhấn Y hết nhé tất cả điều có lợi cho mình đừng sợ bị lừa :smile:

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL

Okay, nó hiện ra Thanks for using MySQL là ta đã có nó trên VPS rồi, giờ hãy chạy MySQL nhé:

sudo service mysql start

Sau đó thì login vào mysql

sudo mysql -u root -p

alt text

Okay vậy là bạn đang đăng nhập vào mysql trên con VPS của bạn rồi nhé. Với -u là user -p là password.

Thoát ra khỏi mysql exit

Tạo database mysql trên VPS

Cũng giống với VPS bạn cũng nên có nhiều user để quản lý nhiều database thay vì sử dụng cấp root, vì như vậy chúng ta sẽ bảo mật được cho dữ liệu của mình cũng như là phân chia được nhiều website mà không bị nhầm lẫn.

Nhớ càng ít sử dụng root càng tốt vì nếu lộ cấp root thì xem như databases cho hacker toàn quyền chơi nhé.

Đầu tiên ta login vào mysql

mysql -u root -p

Tiếp theo ta tạo 1 databases với câu lệnh

CREATE DATABASE cucogai;

Xem nó đã có chưa

SHOW DATABASES;

alt text
Lưu ý là viết câu lệch bằng caps lock hay bình thường điều okay nhé, tôi viết vậy để dễ phân biệt thôi.

Chúng ta đã có database cucogai và một số khác tôi đã tạo trước nhưng chúng ta chỉ tập trung và cucogai thôi nhá.

Tạo user mysql trên VPS

Đã có database rồi thì bây giờ ta tạo user cho nó để dễ quản lý:

CREATE USER cucogai@localhost;

Trong đó,localhost là host name của bạn nhá, bạn không nên thay đổi cái này trừ khi bạn biết mình đang làm gì.

Okay để chắc chắn là có user này rồi thì ta dùng lệnh:

SELECT user FORM mysql.user;

alt text

Có user rồi thì ta cũng nên cho nó một cái mật khẩu khi đăng nhập vào mysql đúng không.

SET PASSWORD FOR cucogai@localhost= PASSWORD("go_mat_khau_vo_day");

và nếu bạn muốn thay đổi mật khẩu thì cũng dùng cái này nhé.

alt text

Okay vậy là ta đã có cái hộp chứa dữ liệu data_cucogai và người quản lý hộp là user_cucogai, giờ ta bạn thử thoát khỏi mysql exit rồi đăng nhập lại bằng tài khoản vừa tạo xem thế nào nhé.

mysql -u cucogai -p
Enter password: doi_lai_roi;

Bạn kiểm tra thử các databases đã tạo ở user_root và thật vi diệu là user_cucogai bạn không thấy data_cucogai.
alt text

Có nghĩa là bạn chưa có quyền được chơi với cái hộp là data_cucogai. Đừng quan ngại, bạn hãy yêu cầu quyền từ cấp root bằng cách sau.

Phân quyền user mysql trên VPS

mysql -u root -p
GRANT ALL PRIVILEGES ON cucogai.* TO cucogai@localhost IDENTIFIED BY "doi_lai_roi";

BY "doi_lai_roi"; là mật khẩu của cucogai@localhost nhé. Xong rồi ta thêm câu này nữa:

flush privileges;

Để nó tái tạo lại MySQL Server để cập nhật.
alt text

Okay ngon rồi giờ thử đăng nhập lại bằng tài khoản cucogai và kiểm tra xem thử nó có quyền truy cập vào data_cucogai chưa nhé.

alt text

Okay ngon dồi :smile:

Tóm lại

Một số chổ cần chú ý:

  • Cài đặt mysql apt-get install mysql-server
  • Tìm và chạy file mysql_secure_installation
  • Tạo database mysql
create database data_name; // Tạo database
drop database data_name; // Xóa database
show databases; //Liệt kê danh sách database
  • Tạo user mysql
create user user_name@localhost; //Tạo user
drop user user_name@localhost; //Xóa user
select user from mysql.user; //Liệt kê danh sách user
// Đặt mật khẩu cho user
set password for user_name@localhost= password('password');
  • Phân quyền user mysql sử dụng databases mysql
grant all privileges on data_name.* to user_name@localhost identified by "password";
  • Các lệnh commands
which file_name // tìm file
mysql -u user_name -p // login vào mysql
flush privileges; // Tái tạo lại MySQL Server
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

tuds

34 bài viết.
101 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
50 11
0.1 Intro Trong series này các bạn sẽ được tiếp cận từ đầu đến đích việc của một webiste tĩnh được làm như thế lào. Hứa hẹn nhiều điều thầm kính t...
tuds viết 2 năm trước
50 11
White
45 5
Dạo gần đây nhà mình hay mất mạng, mà ai cũng biết rồi dân IT, Design, Gaming, XXX, mà không có internet thì hỡi ơi cứ như là sống ở thời kì đồ đá....
tuds viết hơn 1 năm trước
45 5
White
24 2
Tiêu đề viết cho vui vậy chứ 2 chúng nó ly dị lâu rồi, đứa thì đi theo anh chiều cao vh height, đứa thì cưới chị chiều ngang vw width. 1 vw = 1% c...
tuds viết hơn 2 năm trước
24 2
Bài viết liên quan
White
0 1
Gái như khởi tạo một website thật đơn giản đã đến hồi kết thúc, việc quan trọng trong Giá như khởi tạo một website thật đơn giản là giúp bạn biết đ...
tuds viết 2 năm trước
0 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
34 bài viết.
101 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!