Không thể kết nối với MySQL trên phiên bản EC2

Tại đây, tại Bobcares, chúng tôi hỗ trợ khách hàng của mình với một số truy vấn AWS như một phần của Dịch vụ hỗ trợ AWS của chúng tôi

Hôm nay, chúng ta hãy xem làm thế nào chúng ta có thể làm điều này

Trước khi kết nối, chúng ta cần định cấu hình quy tắc gửi đến của nhóm bảo mật, ACL mạng và bảng định tuyến để cho phép kết nối giữa phiên bản EC2 và phiên bản RDS DB

Ngoài ra, chúng tôi cần xác nhận rằng phiên bản EC2 có thể kết nối với internet bằng địa chỉ IP công khai của nó từ máy cục bộ

Tiếp tục, hãy xem cách Kỹ thuật viên hỗ trợ của chúng tôi thực hiện truy vấn này

1. Ban đầu, chúng tôi mở MySQL Workbench

2. Sau đó, chúng tôi chọn MySQL New Connection và nhập tên kết nối

3. Ở đây chúng ta có thể chọn Phương thức kết nối và TCP/IP tiêu chuẩn qua SSH

4. Sau đó, đối với SSH Hostname, chúng ta nhập địa chỉ IP public của EC2 instance

5. Còn đối với SSH Username, chúng ta nhập tên user SSH mặc định để kết nối với EC2 instance

6. Sau đó, chúng tôi chọn SSH Key File và. tệp pem được sử dụng để kết nối từ hệ thống tệp

7. Đối với Tên máy chủ MySQL, chúng tôi nhập tên điểm cuối cơ sở dữ liệu

8. Tương tự, đối với MySQL Server Port, chúng ta nhập số cổng mà chúng ta sử dụng để kết nối với cơ sở dữ liệu

9. Sau đó, đối với Tên người dùng, chúng ta nhập tên người dùng mà chúng ta sử dụng để kết nối với cơ sở dữ liệu

10. Đối với Mật khẩu, chúng tôi nhập mật khẩu người dùng MySQL

11. Cuối cùng, chúng tôi chọn Kiểm tra kết nối. Sau khi test thành công chúng ta chọn OK để lưu kết nối

Khi chúng tôi định cấu hình kết nối, chúng tôi có thể kết nối với phiên bản RDS DB riêng bằng cách sử dụng đường hầm SSH

[Cần trợ giúp về cấu hình?

Phần kết luận

Tóm lại, chúng ta đã thấy cách Kỹ thuật viên hỗ trợ của chúng ta kết nối MySQL Workbench với Phiên bản EC2

NGĂN CHẶN MÁY CHỦ CỦA BẠN KHỎI SỰ CỐ

Không bao giờ mất khách hàng vì tốc độ máy chủ kém. Hãy để chúng tôi giúp bạn

Các chuyên gia máy chủ của chúng tôi sẽ giám sát và bảo trì máy chủ của bạn 24/7 để nó luôn hoạt động nhanh và an toàn

Chủ đề này mô tả cách giải quyết các vấn đề khác nhau gây ra lỗi kết nối với phiên bản ApsaraDB RDS

Các lỗi kết nối thường gặp

Bảng sau đây mô tả các lỗi kết nối phổ biến và giải pháp cho các lỗi này

Cơ sở dữ liệu

Thông báo lỗi

Gây ra

Giải pháp

MySQL hoặc MariaDB TX

  • LỖI 2003 (HY000). Không thể kết nối với máy chủ MySQL trên 'XXX' (10038, 10060 hoặc 110)

  • Không thể kết nối với cơ sở dữ liệu. XXX

Giao tiếp mạng là bất thường

  • Đảm bảo rằng phiên bản Dịch vụ điện toán đàn hồi (ECS) và phiên bản RDS nằm trong cùng một khu vực

  • Đảm bảo rằng phiên bản ECS và phiên bản RDS nằm trong cùng một loại mạng

  • Đảm bảo rằng phiên bản ECS và phiên bản RDS nằm trong cùng một đám mây riêng ảo (VPC)

  • Đảm bảo rằng địa chỉ IP của phiên bản ECS được thêm vào danh sách trắng địa chỉ IP của phiên bản RDS

Để biết thêm thông tin, hãy xem Giải pháp

  • LỖI 1045 (HY000). #28000ip không có trong danh sách trắng

  • LỖI 2801 (HY000). #RDS00ip không có trong danh sách trắng, ip máy khách là XXX

  • LỖI 2013 (HY000). Mất kết nối với máy chủ MySQL tại 'gói ủy quyền đọc', lỗi hệ thống. 110

Danh sách trắng địa chỉ IP của phiên bản RDS không chứa địa chỉ IP mà bạn muốn kết nối với phiên bản RDS

Kiểm tra danh sách trắng địa chỉ IP của phiên bản RDS

  • LỖI 1045 (28000). Truy cập bị từ chối đối với người dùng 'XXX'@'XXX' (sử dụng mật khẩu. Có hay không)

  • LỖI 1045 (28000). Xác thực không thành công cho RDS có thể tên người dùng hoặc mật khẩu không chính xác

Tên người dùng hoặc mật khẩu mà bạn đã nhập không hợp lệ

Kiểm tra tên người dùng và mật khẩu được sử dụng để thiết lập kết nối giữa các phiên bản

  • LỖI 2005 (HY000). Máy chủ MySQL không xác định 'XXX' (110 hoặc 11004)

  • SQLSTATE[HY000] [2002] php_network_getaddresses. getaddrinfo không thành công. Tên hoặc dịch vụ không xác định

  • Tên hoặc dịch vụ không xác định

  • máy chủ lưu trữ không xác định

Máy chủ Hệ thống tên miền (DNS) không thể giải quyết điểm cuối của phiên bản RDS

Kiểm tra điểm cuối của phiên bản RDS hoặc sửa đổi địa chỉ IP của máy chủ DNS

Máy chủ SQL

Không thể kết nối với XXX. Đã xảy ra lỗi liên quan đến mạng hoặc phiên bản cụ thể khi bạn thiết lập kết nối với SQL Server. Máy chủ không được tìm thấy hoặc không thể truy cập được. Xác minh rằng tên phiên bản là chính xác và SQL Server được định cấu hình để cho phép kết nối từ xa. (các nhà cung cấp. Nhà cung cấp TCP, lỗi. 0 - Nỗ lực kết nối không thành công do bên được kết nối không phản hồi đúng sau một khoảng thời gian hoặc kết nối được thiết lập không thành công do máy chủ được kết nối không phản hồi. ) (Microsoft SQL Server, Lỗi. 10060 hoặc 258)

Giao tiếp mạng là bất thường

  • Đảm bảo rằng phiên bản ECS và phiên bản RDS nằm trong cùng một khu vực

  • Đảm bảo rằng phiên bản ECS và phiên bản RDS nằm trong cùng một loại mạng

  • Đảm bảo rằng phiên bản ECS và phiên bản RDS nằm trong cùng một VPC

  • Đảm bảo rằng địa chỉ IP của phiên bản ECS được thêm vào danh sách trắng địa chỉ IP của phiên bản RDS

  • Kiểm tra xem địa chỉ IP và số cổng của phiên bản RDS có được cấu hình đúng cho phiên bản ECS không

Để biết thêm thông tin, hãy xem Giải pháp

Không thể kết nối với XXX

Một kết nối đã được thiết lập thành công với máy chủ, nhưng đã xảy ra lỗi trong quá trình đăng nhập. (các nhà cung cấp. Nhà cung cấp TCP, lỗi. 0 - Tên mạng mà bạn đã chỉ định không thể sử dụng được nữa. ) (Microsoft SQL Server, Lỗi. 64)

Danh sách trắng địa chỉ IP của phiên bản RDS không chứa địa chỉ IP mà bạn muốn kết nối với phiên bản RDS

Kiểm tra danh sách trắng địa chỉ IP của phiên bản RDS

Đăng nhập không thành công khi đăng nhập 'người dùng' do thực thi trình kích hoạt

Số lượng kết nối đến phiên bản RDS đạt đến giới hạn trên

Kiểm tra xem số lượng kết nối đến phiên bản RDS có đạt đến giới hạn trên hay không và liệu có tồn tại các kết nối bị chặn hay không

Không thể mở cơ sở dữ liệu mặc định người dùng. Đăng nhập thất bại

Cơ sở dữ liệu mà tài khoản được chỉ định đăng nhập theo mặc định sẽ bị xóa. Kết quả là đăng nhập của bạn không thành công

Đăng nhập vào cơ sở dữ liệu bằng tài khoản khác và tạo cơ sở dữ liệu mặc định cho tài khoản được chỉ định

PostgreSQL

Không thể kết nối đến máy chủ

không thể kết nối tới máy chủ. Đã hết thời gian kết nối (0x0000274C/10060) Máy chủ có đang chạy trên máy chủ "XXX. số thứ tự. bí danh. com" và chấp nhận kết nối TCP/IP trên cổng XXX?

Giao tiếp mạng là bất thường

  • Đảm bảo rằng địa chỉ IP của phiên bản ECS được thêm vào danh sách trắng địa chỉ IP của phiên bản RDS

  • Kiểm tra xem cấu hình của danh sách trắng địa chỉ IP có đúng không

  • Nếu bạn bật chế độ danh sách trắng nâng cao, hãy kiểm tra xem danh sách trắng địa chỉ IP có được thêm vào nhóm bắt buộc không. Để biết thêm thông tin, hãy xem Chế độ danh sách cho phép nâng cao

Để biết thêm thông tin, hãy xem Giải pháp

  • máy chủ đã đóng kết nối đột ngột Điều này có thể có nghĩa là máy chủ đã kết thúc bất thường trước hoặc trong khi xử lý yêu cầu

  • Lỗi kết nối với máy chủ. GÂY TỬ VONG. không pg_hba. mục conf

Danh sách trắng địa chỉ IP của phiên bản RDS không chứa địa chỉ IP mà bạn muốn kết nối với phiên bản RDS

Kiểm tra danh sách trắng địa chỉ IP của phiên bản RDS

GÂY TỬ VONG. các khe kết nối còn lại được dành riêng cho các kết nối siêu người dùng không sao chép

Số lượng kết nối đến phiên bản RDS đạt đến giới hạn trên

Dừng quá trình thêm kết nối

GÂY TỬ VONG. xác thực mật khẩu không thành công cho người dùng "xxx"

Mật khẩu không hợp lệ

Đặt lại mật khẩu và thử lại

Để biết thêm thông tin về cách đặt lại mật khẩu, hãy xem

Kết nối với một phiên bản RDS bằng cách sử dụng Quản lý dữ liệu (DMS)

Người dùng được chỉ định làm định nghĩa ('user'@'a. b. c. d') không tồn tại

Không thể tìm thấy tài khoản được chỉ định. Lỗi này chỉ có thể xảy ra khi tính năng proxy cơ sở dữ liệu được sử dụng cho phiên bản RDS. Để biết thêm thông tin, hãy xem ApsaraDB RDS hỗ trợ chế độ proxy cơ sở dữ liệu

Chuyển từ chế độ proxy cơ sở dữ liệu sang chế độ tiêu chuẩn

Máy chủ MYSQL đang chạy với tùy chọn --rds-deny-access nên không thể thực thi câu lệnh này

  • Phiên bản RDS hết hạn

  • Dung lượng lưu trữ của phiên bản RDS đã hết

Gia hạn phiên bản RDS hoặc nâng cấp dung lượng lưu trữ của phiên bản RDS

Bạn không thể sử dụng DMS để kết nối với phiên bản RDS

Bạn không phải là chủ sở hữu của phiên bản RDS và chủ sở hữu của phiên bản RDS chưa cấp cho bạn quyền đăng nhập

Ủy quyền tài khoản Alibaba Cloud

Kiểm tra xem điểm cuối có hợp lệ không, danh sách trắng địa chỉ IP được định cấu hình chính xác và giao tiếp mạng có bình thường không

Trong hầu hết các trường hợp, lỗi này xảy ra do những lý do sau khi bạn kết nối cơ sở dữ liệu MySQL tự quản lý nằm trên phiên bản ECS hoặc máy chủ lưu trữ tại chỗ với phiên bản RDS

  • Tường lửa của phiên bản ECS hoặc tường lửa của máy chủ tại chỗ không cho phép kết nối với phiên bản RDS

  • Nhóm bảo mật chứa phiên bản ECS không cho phép truy cập từ DMS

  • Cơ sở dữ liệu MySQL tự quản lý chưa được khởi động

  • Cơ sở dữ liệu MySQL tự quản lý chỉ cho phép đăng nhập mà bạn bắt đầu từ phiên bản ECS bằng cách sử dụng thông tin xác thực của tài khoản gốc

  • Kiểm tra các quy tắc tường lửa của phiên bản ECS hoặc máy chủ lưu trữ tại chỗ chứa cơ sở dữ liệu MySQL tự quản lý

  • Thêm địa chỉ IP của máy chủ DMS vào nhóm bảo mật của phiên bản ECS

  • Sử dụng tài khoản root để đăng nhập vào cơ sở dữ liệu MySQL

Để biết thêm thông tin, hãy xem Giải pháp

max_user_connections

Số lượng kết nối đến phiên bản RDS đạt đến giới hạn trên

Giải quyết vấn đề số lượng kết nối với phiên bản RDS đạt đến giới hạn trên

Không thể đăng nhập vào phiên bản RDS do sự cố liên quan đến danh sách trắng địa chỉ IP

Các khối CIDR của máy chủ DMS không được thêm vào danh sách trắng địa chỉ IP của phiên bản RDS

Thêm khối CIDR của máy chủ DMS vào danh sách trắng địa chỉ IP của phiên bản RDS

Sự cố gây ra lỗi kết nối phiên bản ECS với phiên bản RDS qua mạng nội bộ

  • Trước khi kết nối với phiên bản RDS bằng cách sử dụng điểm cuối bên trong của phiên bản RDS, bạn phải thêm địa chỉ IP nội bộ của phiên bản ECS vào danh sách cho phép địa chỉ IP của phiên bản RDS

    Ghi chú

    • Để biết thêm thông tin về cách định cấu hình danh sách trắng địa chỉ IP cho phiên bản RDS, hãy xem Định cấu hình danh sách trắng địa chỉ IP cho phiên bản ApsaraDB RDS

    • Nếu bạn chỉ thêm địa chỉ IP công khai của phiên bản ECS vào danh sách trắng địa chỉ IP của phiên bản RDS, thì bạn không thể kết nối phiên bản ECS với phiên bản RDS qua mạng nội bộ

  • Bạn chỉ có thể kết nối phiên bản ECS với phiên bản RDS qua mạng nội bộ khi các phiên bản này nằm trong cùng một khu vực. Các phiên bản này có thể nằm trong cùng một khu vực hoặc các khu vực khác nhau của cùng một khu vực

    • Đảm bảo rằng phiên bản ECS và phiên bản RDS nằm trong cùng một khu vực

      1. Xem khu vực chứa phiên bản ECS

        Không thể kết nối với MySQL trên phiên bản EC2
      2. Xem khu vực chứa phiên bản RDS

        Không thể kết nối với MySQL trên phiên bản EC2
      3. Xem loại mạng của phiên bản RDS

        Không thể kết nối với MySQL trên phiên bản EC2
  • Nếu một phiên bản nằm trong mạng cổ điển và phiên bản kia nằm trong VPC, hãy sử dụng một trong các phương pháp sau để giải quyết vấn đề

    • Các phương thức phù hợp trong các tình huống trong đó phiên bản ECS nằm trong VPC và phiên bản RDS nằm trong mạng cổ điển

      • Phương pháp 1. Di chuyển phiên bản RDS từ mạng cổ điển sang VPC chứa phiên bản ECS. Đây là phương pháp được khuyến khích. Để biết thêm thông tin, xem

        Chuyển đổi loại mạng

      • Phương pháp 2. Mua phiên bản ECS nằm trong mạng cổ điển. VPC cung cấp bảo mật cao hơn mạng cổ điển. Chúng tôi khuyên bạn nên sử dụng loại mạng VPC

        Ghi chú

        Không thể di chuyển các phiên bản ECS từ VPC sang mạng cổ điển

      • Phương pháp 3. Kết nối phiên bản ECS với phiên bản RDS bằng cách sử dụng điểm cuối công khai của phiên bản RDS. Để biết thêm thông tin về cách đăng ký điểm cuối công khai cho phiên bản RDS, hãy xem Đăng ký hoặc phát hành điểm cuối công khai cho phiên bản ApsaraDB RDS cho MySQL. Phương pháp này không thể mang lại hiệu suất, bảo mật hoặc ổn định tối ưu

    • Các phương thức phù hợp trong các tình huống trong đó phiên bản ECS nằm trong mạng cổ điển và phiên bản RDS nằm trong VPC

      • Phương pháp 1. Di chuyển phiên bản ECS từ mạng cổ điển sang VPC chứa phiên bản RDS. Để xem VPC ID của phiên bản RDS, hãy truy cập trang Thông tin cơ bản của phiên bản RDS và nhấp vào Xem chi tiết ở bên phải Loại mạng. Đây là phương pháp được khuyến khích. Để biết thêm thông tin, hãy xem Di chuyển phiên bản ECS

      • Phương pháp 2. Thay đổi loại mạng của phiên bản RDS từ VPC thành mạng cổ điển. VPC cung cấp bảo mật cao hơn mạng cổ điển. Chúng tôi khuyên bạn nên sử dụng loại mạng VPC

      • Phương pháp 3. Sử dụng tính năng ClassicLink để thiết lập kết nối mạng nội bộ giữa phiên bản ECS kiểu mạng cổ điển và phiên bản RDS kiểu VPC. Để biết thêm thông tin về tính năng ClassicLink, hãy xem Kích hoạt ClassicLink

        Ghi chú

        Nếu không thể thiết lập kết nối mạng nội bộ giữa phiên bản ECS loại mạng cổ điển và phiên bản RDS loại VPC sau khi sử dụng tính năng ClassicLink, hãy xử lý sự cố dựa trên các mô tả trong Khắc phục sự cố kết nối giữa mạng cổ điển và VPC sau khi bạn

      • Phương pháp 4. Kết nối phiên bản ECS với phiên bản RDS bằng cách sử dụng điểm cuối công khai của phiên bản RDS. Để biết thêm thông tin về cách đăng ký điểm cuối công khai cho phiên bản RDS, hãy xem Đăng ký hoặc phát hành điểm cuối công khai cho phiên bản ApsaraDB RDS cho MySQL. Phương pháp này không thể mang lại hiệu suất, bảo mật hoặc ổn định tối ưu

  • Nếu cả phiên bản ECS và phiên bản RDS đều nằm trong VPC, hãy đảm bảo rằng các phiên bản này nằm trong cùng một VPC

    • Xem VPC ID của phiên bản ECS

      Không thể kết nối với MySQL trên phiên bản EC2
    • Xem loại mạng của phiên bản RDS

      Không thể kết nối với MySQL trên phiên bản EC2
  • Nếu phiên bản ECS và phiên bản RDS nằm trong các VPC khác nhau, hãy sử dụng một trong các phương pháp sau để giải quyết vấn đề

    • Phương pháp 1. Di chuyển phiên bản RDS sang VPC chứa phiên bản ECS. Đây là phương pháp được khuyến khích. Để biết thêm thông tin, hãy xem Thay đổi VPC và vSwitch cho phiên bản ApsaraDB RDS cho MySQL

    • Phương pháp 2. Tạo một phiên bản Cloud Enterprise Network (CEN) để thiết lập kết nối giữa hai VPC. Để biết thêm thông tin về CEN, hãy xem Sử dụng CEN để kích hoạt giao tiếp mạng nội vùng

    • Phương pháp 3. Kết nối phiên bản ECS với phiên bản RDS bằng cách sử dụng điểm cuối công khai của phiên bản RDS. Phương pháp này không thể mang lại hiệu suất, bảo mật hoặc ổn định tối ưu

  • Nếu phiên bản ECS và phiên bản RDS nằm trong cùng một VPC và trong cùng một khu vực, thì phiên bản ECS có thể kết nối với phiên bản RDS bằng cách sử dụng điểm cuối công khai thay vì điểm cuối bên trong của phiên bản RDS và cả lệnh ping và telnet

Sự cố gây ra lỗi kết nối với phiên bản RDS qua mạng nội bộ

Đảm bảo rằng điểm cuối công khai của phiên bản RDS được sử dụng để kết nối với phiên bản RDS. Bạn có thể xem điểm cuối công khai của phiên bản RDS trên trang Kết nối cơ sở dữ liệu trong bảng điều khiển ApsaraDB RDS

Không thể kết nối với MySQL trên phiên bản EC2

Đảm bảo rằng địa chỉ IP công khai của thiết bị tại chỗ mà bạn muốn kết nối với phiên bản RDS được thêm vào danh sách trắng địa chỉ IP của phiên bản RDS. Nếu thiết bị tại chỗ có thể được kết nối với phiên bản RDS sau khi 0.0.0.0/0 được thêm vào danh sách trắng địa chỉ IP của phiên bản RDS, địa chỉ IP mà bạn đã thêm vào danh sách trắng địa chỉ IP không chính xác. Trong trường hợp này, hãy lấy địa chỉ IP công cộng chính xác của thiết bị tại chỗ dựa trên các chủ đề sau, rồi thêm địa chỉ IP công cộng vào danh sách trắng địa chỉ IP của phiên bản RDS. Để biết thêm thông tin về cách định cấu hình danh sách trắng địa chỉ IP cho phiên bản RDS, hãy xem Định cấu hình danh sách trắng địa chỉ IP cho phiên bản ApsaraDB RDS

Ghi chú

Địa chỉ IP công cộng có thể thay đổi. Sau khi địa chỉ IP công cộng được thay đổi, bạn không thể sử dụng địa chỉ IP công cộng ban đầu để thiết lập kết nối. Để duy trì kết nối ổn định, chúng tôi khuyên bạn nên sử dụng điểm cuối bên trong của phiên bản RDS và thêm địa chỉ IP nội bộ vào danh sách trắng địa chỉ IP của phiên bản RDS

  • Tại sao tôi không thể kết nối với phiên bản ApsaraDB RDS cho MySQL hoặc ApsaraDB RDS cho MariaDB của mình từ một máy chủ cục bộ qua Internet?

    Làm cách nào để kết nối với cơ sở dữ liệu MySQL trên EC2?

    Độ phân giải .
    Mở bàn làm việc MySQL
    Chọn MySQL New Connection và nhập tên kết nối
    Chọn Phương thức kết nối và chọn TCP/IP tiêu chuẩn qua SSH
    Đối với Tên máy chủ SSH, hãy nhập địa chỉ IP công khai của phiên bản EC2 của bạn
    Đối với Tên người dùng SSH, hãy nhập tên người dùng SSH mặc định để kết nối với phiên bản EC2 của bạn

    Tại sao cơ sở dữ liệu MySQL 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ó.

    Tại sao tôi không thể kết nối với phiên bản EC2 của mình?

    Sau đây là những lý do phổ biến khiến Kết nối phiên bản EC2 có thể không hoạt động như mong đợi. EC2 Instance Connect không hỗ trợ phân phối hệ điều hành . Gói EC2 Instance Connect chưa được cài đặt trên phiên bản. Chính sách hoặc quyền AWS Identity and Access Management (IAM) bị thiếu hoặc không chính xác.

    Tại sao tôi không thể kết nối với phiên bản RDS của mình?

    Dưới đây là một số lý do phổ biến hơn. Phiên bản CSDL RDS ở trạng thái không khả dụng nên không thể chấp nhận kết nối . Nguồn của bạn để kết nối với phiên bản CSDL không có quyền truy cập được ủy quyền trong nhóm bảo mật, danh sách kiểm soát truy cập mạng (ACL) hoặc tường lửa cục bộ của bạn.