Không thể kết nối với máy chủ MySQL từ xa?

Môi trường phân tán hầu như không phải là một khái niệm mới trong thế giới phần mềm. Đầu tiên, bạn không còn cần phải lưu trữ các máy chủ và cơ sở dữ liệu MySQL trên cùng một máy cục bộ. Giờ đây, bạn có thể có một máy chủ chuyên dụng có thể cung cấp mức độ bảo mật và hiệu suất cần thiết. Với sự trợ giúp của quyền người dùng root/sudo, bạn có thể kích hoạt các kết nối từ xa mới và thiết lập làm việc theo nhóm an toàn và hiệu quả với cơ sở dữ liệu của mình bằng máy chủ MySQL từ xa

Bài viết này sẽ giúp bạn có một khởi đầu thuận lợi, giải thích cách kích hoạt và thiết lập các kết nối từ xa tới máy chủ và cơ sở dữ liệu MySQL, quản lý đặc quyền của người dùng và thú vị nhất là cách hoàn thành mọi thứ dễ dàng nhất bằng cách sử dụng dbForge Studio, một IDE chuyên dụng cho cơ sở dữ liệu MySQL

Không thể kết nối với máy chủ MySQL từ xa?

nội dung

1.
2.
3.
4.
5.

Cách bật và thiết lập kết nối máy chủ MySQL từ xa

Nhiệm vụ đầu tiên của chúng tôi là kích hoạt và định cấu hình các kết nối từ xa đến máy chủ MySQL để cho phép người dùng kết nối với máy chủ từ xa. Bạn sẽ cần máy Windows hoặc Linux của mình, máy chủ MySQL được cài đặt trên đó và quyền truy cập root của riêng bạn để thiết lập kết nối từ xa từ. Sẵn sàng?

Nếu bạn muốn bật quyền truy cập từ xa cho người dùng root, hãy chạy lệnh SQL sau trên máy chủ

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Bây giờ bạn cần thay đổi địa chỉ liên kết IP (biến liên kết) trong tệp cấu hình MySQL. Nếu bạn có máy Linux, hãy khởi chạy CLI của bạn và chạy lệnh sau

sudo nano /etc/mysql/mysql.conf.d/my.cnf

Nếu bạn có máy Windows, tên tệp sẽ là

sudo nano /etc/mysql/mysql.conf.d/my.cnf
0 và nó sẽ nằm trong thư mục cài đặt MySQL, e. g.
sudo nano /etc/mysql/mysql.conf.d/my.cnf
1

Xin lưu ý rằng vị trí chính xác của tệp cấu hình có thể khác nhau tùy thuộc vào phiên bản MySQL của bạn, vì vậy bạn có thể cần phải điều chỉnh nó cho phù hợp

Khi bạn mở tệp cấu hình, hãy tra cứu dòng địa chỉ liên kết. IP mặc định là 127. 0. 0. 1, chỉ cho phép truy cập từ máy chủ cục bộ (liên kết 127. 0. 0. 1). Bạn cần đặt IP mới trùng với địa chỉ của máy tính thì mới có thể truy cập từ xa vào MySQL server. Xin lưu ý rằng đặt nó thành 0. 0. 0. 0 sẽ cho phép truy cập từ tất cả các máy chủ. Khi hoàn tất, hãy lưu và thoát khỏi tệp cấu hình

Bây giờ bạn cần khởi động lại dịch vụ MySQL để áp dụng các thay đổi của mình. Đây là cách bạn có thể làm điều đó trên Linux

sudo systemctl restart mysql

Và nếu bạn làm việc trên Windows, bạn có thể khởi chạy dấu nhắc lệnh, tiếp tục đến thư mục MySQL của bạn và chạy lệnh sau (tương tự, thay đổi nó để phù hợp với phiên bản MySQL của bạn)

net stop MySQL80
net start MySQL80

Nếu nó không hoạt động, bạn có thể khởi động lại MySQL bằng cách nhấp chuột phải và chọn Khởi động lại qua tab Dịch vụ của Trình quản lý tác vụ của bạn

Cách cấp và thiết lập quyền truy cập của người dùng từ máy chủ từ xa

Bạn có thể kích hoạt quyền truy cập từ xa cho người dùng từ xa bằng cách định cấu hình lại tài khoản đó để kết nối từ máy chủ từ xa thay vì máy chủ cục bộ. Mở ứng dụng khách MySQL của bạn với tư cách là người dùng root/sudo

sudo mysql

Nếu bạn đã bật xác thực mật khẩu để truy cập root, hãy chạy lệnh sau để truy cập MySQL shell

mysql -u root -p

Bạn có thể cho phép kết nối từ xa cho người dùng được kết nối cục bộ bằng lệnh RENAME USER (đã chỉ định trước tên người dùng và IP máy chủ từ xa)

________số 8_______

Có một cách thay thế. bạn có thể tạo người dùng mới để kết nối ngay từ máy chủ từ xa

mysql> CREATE USER 'user name'@'remote_server_ip' IDENTIFIED BY 'password';

Cuối cùng, bạn cần cấp đặc quyền cho người dùng từ xa. Vì thông thường không nên cấp TẤT CẢ các đặc quyền, nên tốt hơn là chỉ định những đặc quyền được yêu cầu, chẳng hạn

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'user_name'@'remote_server_ip' WITH GRANT OPTION;

Sau đó, bạn có thể chạy lệnh FLUSH PRIVILEGES, lệnh này sẽ giải phóng bộ nhớ đệm do máy chủ lưu trữ sau các câu lệnh CREATE USER và GRANT

mysql> FLUSH PRIVILEGES;

Như một phần thưởng, chúng tôi muốn giới thiệu một bài viết nơi bạn có thể tìm hiểu cách kiểm tra quyền của người dùng MySQL

Cách kết nối với cơ sở dữ liệu từ xa

Bây giờ là lúc để kết nối với cơ sở dữ liệu MySQL từ xa và kiểm tra trực tuyến kết nối từ xa của bạn. Chúng tôi gợi ý 3 công cụ có thể giúp bạn làm điều đó. ứng dụng khách MySQL CLI, MySQL Workbench và dbForge Studio cho MySQL. Bạn sẽ tìm thấy hướng dẫn chi tiết cho từng công cụ trong hướng dẫn chi tiết của chúng tôi để kết nối với Máy chủ MySQL

Cách kết nối với máy chủ từ xa bằng dbForge Studio cho MySQL

Trong số 3 cách được đề cập trong đoạn trước, chúng tôi muốn chọn ra dbForge Studio cho MySQL của Devart. Đây là bộ công cụ MySQL toàn diện nhất mà tiền có thể mua được, cung cấp các khả năng vượt trội hơn nhiều so với các công cụ tương tự như MySQL Workbench

dbForge Studio cung cấp một trình hướng dẫn thông minh hướng dẫn người dùng thiết lập máy chủ từ xa và kết nối cơ sở dữ liệu cũng như kết nối với máy chủ cục bộ. Xem nó được thực hiện dễ dàng như thế nào—hãy kiểm tra của chúng tôi

Bạn cũng có thể tham khảo tài liệu sản phẩm để tìm hiểu tất cả về quản lý kết nối cơ sở dữ liệu

Cách giảm lưu lượng Internet khi kết nối với máy chủ từ xa

Một trong những tắc nghẽn cơ sở dữ liệu thường gặp nhất mà các dự án lớn gặp phải là lưu lượng truy cập MySQL cao. Chắc chắn, chúng ta có thể nói về việc chuyển sang kích thước phiên bản đám mây lớn hơn, lõi nhanh hơn và lưu trữ tốt hơn, nhưng điều đó quá rõ ràng và tốn kém. Thay vào đó, chúng tôi muốn tập trung vào một số mẹo có thể giảm lưu lượng truy cập bằng một chút cấu hình

  1. Vô hiệu hóa và/hoặc tối ưu hóa các tính năng tải cao của ứng dụng của bạn
  2. Sử dụng ProxySQL để kích hoạt tổng hợp kết nối. Điều này sẽ ngăn ứng dụng của bạn làm quá tải MySQL với vô số kết nối đồng thời. Một tính năng hay nữa của ProxySQL giúp cache kết quả truy vấn trong một khoảng thời gian nhất định
  3. Giám sát cơ sở dữ liệu của bạn để biết các tắc nghẽn về hiệu suất
  4. Xác định và tối ưu hóa các truy vấn gây ra tải cao. Nếu bạn sử dụng dbForge Studio cho MySQL, bạn sẽ có một công cụ chuyên dụng—Trình cấu hình truy vấn—giúp bạn giải quyết công việc này một cách dễ dàng
  5. Thêm các chỉ mục còn thiếu và loại bỏ các chỉ mục thừa và không sử dụng
  6. Tiến hành kiểm tra kỹ lưỡng các hoạt động nền của bạn. Một số trong số chúng có thể bị hoãn lại, một số có thể hoạt động hiệu quả với nguồn lực hạn chế (e. g. đồng thời hạn chế cho các công việc hàng loạt) và một số có thể chạy hoàn hảo trên các bản sao

Đó là nó. Nếu bạn muốn thực hiện công việc của mình với máy chủ MySQL từ xa và cơ sở dữ liệu ít tốn thời gian hơn, hãy thử bản dùng thử miễn phí 30 ngày của dbForge Studio dành cho MySQL

Tại sao máy chủ MySQL của tôi không kết nối?

Dưới đây là một số lý do có thể xảy ra lỗi Không thể kết nối với máy chủ MySQL cục bộ. mysqld không chạy trên máy chủ cục bộ . Kiểm tra danh sách quy trình của hệ điều hành của bạn để đảm bảo có quy trình mysqld. Bạn đang chạy một máy chủ MySQL trên Windows với nhiều kết nối TCP/IP tới nó.

Làm cách nào để kiểm tra xem MySQL có thể truy cập được trên cổng 3306 không?

Cách đúng là sử dụng. sudo lsof -i. 3306 .

Làm cách nào để kiểm tra kết nối từ xa của MySQL?

Đăng nhập vào máy chủ đại lý với quyền root
Mở cài đặt. tệp thuộc tính và tìm thông tin kết nối, ví dụ. XAUUDIT. ĐB. HOSTNAME=poliymgr XAAUDIT. ĐB. DATABASE_NAME=xasecure XAAUDIT. ĐB. USER_NAME=xasecure XAAUDIT. ĐB. MẬT KHẨU=hadoop