Cổng mysql

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở. SQL là ngôn ngữ ứng dụng được sử dụng để truy vấn và lưu trữ dữ liệu. Bạn có thể tìm thấy rất nhiều công cụ và cộng đồng trợ giúp khi cần, đơn giản bởi MySQL hoàn toàn miễn phí và được sử dụng rộng rãi. Bài viết này sẽ hướng dẫn cơ bản để các bạn cài đặt MySQL trên CentOS

Cài đặt MySQL

Cài đặt MySQL thông qua trình quản lý gói CentOS bằng cách chạy dòng lệnh sau

    sudo yum install mysql-server
    sudo /sbin/service mysqld start

Sau đó chạy tiếp lệnh

    sudo /usr/bin/mysql_secure_installation

Nhấn Enter để nhập mật khẩu cho người dùng root khi được hỏi. Liên quan đến vấn đề bảo mật cho nên MySQL sẽ hỏi liên tục. Bạn chỉ cần nhấn y và nhập cho tất cả các câu hỏi đó. Theo thứ tự các câu hỏi sẽ là

  • Nhập mật khẩu root
  • Xóa người dùng ẩn danh
  • Key yêu cầu truy cập từ xa đối với root
  • Xóa bài kiểm tra cơ sở dữ liệu
  • Tải lại danh sách tài khoản

Cho phép truy cập cơ sở dữ liệu từ máy khác

Nếu bạn đã kích hoạt iptable và muốn kết nối với MySQL từ một máy chủ khác, bạn cần phải mở cổng trên tường lửa của máy chủ [cổng mặc định là 3306]. Bạn không cần phải làm công việc này nếu ứng dụng sử dụng MySQL chạy trên cùng một máy với máy chủ SQL

Nếu cần mở cổng, bạn có thể sử dụng các quy tắc sau cho iptable để mở cổng 3305

    iptables -I INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
    iptables -I OUTPUT -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT
    iptables-save | sudo tee /etc/sysconfig/iptables
    service iptables restart

Chú thích. Các quy tắc iptables có thể thay đổi bằng cách chỉnh sửa trực tiếp trong tệp /etc/sysconfig/iptables, cú pháp tương tự hai dòng lệnh ở trên

Chạy MySQL

Bây giờ MySQL đã cài đặt xong, bạn có thể kiểm tra bằng cách chạy thử dòng lệnh

    sudo /sbin/service mysqld start

Nếu MySQL đang chạy sẽ có thông báo được đưa ra

Tự khởi động khi mở máy

Để chắc chắn MySQL server sẽ tự khởi động khi bật máy, hãy chạy lệnh sau

    sudo chkconfig mysqld on

Điều này đảm bảo centos sẽ khởi động máy chủ MySQL khi nó khởi động lại

Vỏ MySQL

Có nhiều cách để làm việc với máy chủ MySQL, nhưng trong bài chỉ tập trung vào phương pháp cơ bản và tương thích nhất. sử dụng vỏ mysql. Trên thiết bị đầu cuối, chạy lệnh bên dưới để truy cập với tư cách người dùng root

    /usr/bin/mysql -u root -p

Khi được hỏi mật khẩu, hãy nhập mật khẩu bạn đã đặt khi cài đặt, nếu bạn chưa đặt mật khẩu, chỉ cần nhấn enter để nhập mật khẩu trống

Đặt mật khẩu cho root

Nếu bạn chỉ cài đặt máy chủ MySQL, còn tài khoản root trong MySQl vẫn chưa có mật khẩu. You can change by command after

    /usr/bin/mysqladmin -u root password 'new-password'
    /usr/bin/mysqladmin -u root --password='new-password' -h hostname-of-your-server 'new-password'

Find the user on server

Như đã nhắc đến ở phần trước, MySQL đã lưu thông tin người dùng trong cơ sở dữ liệu của nó. Tên của cơ sở dữ liệu là “mysql”. In database, user information is a “table”, a data file, set name is “User”. Nếu bạn muốn xem bất kỳ người dùng nào có trên hệ thống, hãy sử dụng lệnh MySQL

    SELECT User, Host, Password FROM mysql.user;

Kết thúc câu truy vấn SQL với dấu chấm phẩy “;”

Tất cả các câu truy vấn đều kết thúc với dấu chấm phẩy. MySQL sẽ không xử lý truy vấn khi bạn nhập dấu chấm hài

Điều này giúp bạn có thể chia nhỏ câu truy vấn phức tạp thành nhiều dòng để dễ đọc. Ví dụ, lệnh tìm kiếm thông tin người dùng ở trên cũng hoạt động trên mysql shell khi ta tách thành nhiều dòng

________số 8_______

Sau khi nhấn enter để xuống dòng, bạn nhảy qua dòng mới và có thể tiếp tục nhập. Ký hiệu > xác nhận rằng bạn đang ở giữa câu lệnh. Bạn có thể gõ dấu chấm bất kỳ vào bất kỳ thời điểm nào để kết thúc lệnh gõ, dù bạn gõ ở cuối dòng hay quên gõ “;”

Máy chủ của người dùng

Ví dụ sau có thể xuất ra từ câu truy vấn ở trên

    SELECT User, Host, Password FROM mysql.user;
    +------------------+-----------+-------------------------------------------+
    | User             | Host      | Password                                  |
    +------------------+-----------+-------------------------------------------+
    | root             | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    | root             | demohost  | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    | root             | 127.0.0.1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
    |                  | %         |                                           |
    +------------------+-----------+-------------------------------------------+

Mỗi người dùng liên kết với một máy chủ, chỉ định rõ máy chủ nào họ được phép kết nối. Tài khoản “root” trong ví dụ này được định nghĩa cho localhost. Thường thì bạn chỉ cần một người dùng cho một máy chủ

Nếu bạn đang chạy ứng dụng trên cùng máy với máy chủ MySQL thì có thể sử dụng địa chỉ “localhost”. Bất kỳ người dùng mới tạo nào cũng sẽ được gán “localhost” trong cột máy chủ của họ

Nếu ứng dụng kết nối đến máy chủ MySQL chạy trên một máy chủ khác, cột máy chủ sẽ chỉ định địa chỉ IP hoặc tên máy chủ DNS của máy khách kết nối đến

Một giá trị đặc biệt là máy chủ %, như bạn đã thấy ở phần người dùng bị bỏ trống. Ký tự % là một ký tự đại diện cho “bất kỳ ký tự máy chủ nào”. Thường thì bạn không muốn sử dụng cái này vì nó mất an toàn

Người dùng ẩn danh

Trong đầu ra của ví dụ trên, dòng cuối có tên người dùng và mật khẩu trống. Đó chính là "người dùng ẩn danh". Khi máy khách kết nối mà không có tên người dùng, nó sẽ cố gắng kết nối bằng người dùng ẩn danh

Thường thì không ai muốn cả người dùng ẩn danh, nhưng một số bản cài đặt MySQL đã tạo lại người dùng này theo mặc định. Nếu thấy nó xuất hiện như ở trên, bạn có thể tự mình xóa người dùng đó đi [tìm kiếm người dùng bằng cặp dấu”] hoặc đặt mật khẩu cho nó

Tạo cơ sở dữ liệu

Thông thường các ứng dụng sử dụng cơ sở dữ liệu sẽ không tự tạo cơ sở dữ liệu để sử dụng, mà người cài đặt cần cung cấp thông tin về tên cơ sở dữ liệu, người dùng và mật khẩu để ứng dụng sử dụng. Vì nhiều lý do bảo mật, tài khoản sử dụng cơ sở dữ liệu sẽ chỉ được cấp quyền thao tác trên một cơ sở dữ liệu. Để tạo người dùng, trong MySQL shell, gõ lệnh

    sudo /usr/bin/mysql_secure_installation
0

Cơ sở dữ liệu sẽ được tạo, bạn có thể kiểm tra bằng cách chạy truy vấn liệt kê danh sách tất cả các cơ sở dữ liệu trên máy chủ. Ví dụ bên dưới có thể hiện câu truy vấn và xuất dữ liệu

    sudo /usr/bin/mysql_secure_installation
1

Thêm người dùng trên máy chủ MySQL

Khi ứng dụng kết nối vào cơ sở dữ liệu với tài khoản gốc, nó sẽ có nhiều quyền hơn những gì nó cần. Có thể gây ảnh hưởng đến các cơ sở dữ liệu khác, của các ứng dụng khác. Do đó, bạn có thể tạo một người dùng chỉ được phép truy cập vào cơ sở dữ liệu. Lệnh tạo người dùng trong mysql shell như sau

    sudo /usr/bin/mysql_secure_installation
2

Cấp quyền truy cập cho người dùng

Người dùng vừa được tạo mới sẽ không có quyền gì. Người dùng có thể đăng nhập vào MySQL, nhưng không thể tác động bất kỳ thay đổi nào lên cơ sở dữ liệu. Cấp quyền cho người dùng truy cập đầy đủ vào cơ sở dữ liệu ‘demodb’ mới tạo bằng dòng lệnh sau

    sudo /usr/bin/mysql_secure_installation
3

Sau đó tải lại giá trị phân quyền để cập nhật thay đổi

    sudo /usr/bin/mysql_secure_installation
4

Để kiểm tra quyền đã cấp, hãy chạy lệnh sau

    sudo /usr/bin/mysql_secure_installation
5

Những kiến ​​thức ở trên cũng chỉ cho bạn thấy những thiết bị đặt nền tảng nền tảng cơ bản nhất mà thôi. Để hiểu sâu hơn về bảo mật cũng như vận hành hệ thống máy chủ MySQL ổn định, hãy đọc thêm tài liệu của chính MySQL phát hành để nâng cao kiến ​​thức nhé

Chủ Đề