Hướng dẫn này nhằm giải thích các bước cần thiết để giải quyết lỗi “ERROR 2003 [HY000]. Không thể kết nối với máy chủ MySQL trên '127. 0. 0. 1’ [111]” có thể xảy ra khi bạn cố gắng truy cập máy chủ cơ sở dữ liệu MySQL
Trước khi tiếp tục, nếu bạn là người dùng Linux chưa quen với MySQL/MariaDB, thì bạn có thể cân nhắc học MySQL/MariaDB cho người mới bắt đầu – Phần 1 và 20 Lệnh MySQL [Mysqladmin] để quản trị cơ sở dữ liệu trong Linux.
Mặt khác, nếu bạn đã là người dùng MySQL trung cấp/có kinh nghiệm, thì bạn có thể nắm vững những 15 Mẹo Điều chỉnh và Tối ưu hóa Hiệu suất MySQL/MariaDB Hữu ích
Ghi chú. Đối với hướng dẫn này, giả định rằng bạn đã cài đặt máy chủ cơ sở dữ liệu mysql
Quay trở lại vấn đề chính, một số nguyên nhân có thể gây ra lỗi này là gì?
- Lỗi mạng đặc biệt nếu máy chủ cơ sở dữ liệu mysql đang chạy trên máy chủ từ xa
- Không có máy chủ mysql nào đang chạy trên máy chủ được đề cập
- Tường lửa chặn kết nối TCP-IP hoặc các lý do liên quan khác
Dưới đây là các bước cần thiết để đối phó với nó
1. Nếu máy chủ cơ sở dữ liệu nằm trên một máy từ xa, thì hãy thử kiểm tra kết nối máy khách-máy chủ bằng cách sử dụng lệnh
$ ps -Af | grep mysqld8 chẳng hạn
$ ping server_ip_address
Sau khi có kết nối, hãy sử dụng lệnh
$ ps -Af | grep mysqld0 bên dưới để hiển thị thông tin về lựa chọn các quy trình đang hoạt động, cùng với lệnh
$ ps -Af | grep mysqld1 và lệnh grep, để kiểm tra xem trình nền mysql có đang chạy trên hệ thống của bạn không
$ ps -Af | grep mysqld
tùy chọn ở đâu
$ ps -Af | grep mysqld
2 – kích hoạt lựa chọn tất cả các quy trình$ ps -Af | grep mysqld
3 – cho phép liệt kê định dạng đầy đủ
Nếu không có đầu ra từ lệnh trước, hãy khởi động dịch vụ mysql như sau
$ sudo systemctl start mysql.service $ sudo systemctl start mariadb.service OR # sudo /etc/init.d/mysqld start
Sau khi bắt đầu dịch vụ mysql, hãy thử truy cập máy chủ cơ sở dữ liệu
$ mysql -u username -p -h host_address
2. Nếu bạn vẫn gặp lỗi tương tự, hãy xác định cổng [mặc định là 3306] mà trình nền mysql đang lắng nghe bằng cách chạy lệnh netstat
________số 8tùy chọn ở đâu
$ ps -Af | grep mysqld
4 – hiển thị các cổng nghe$ ps -Af | grep mysqld
5 – cho phép hiển thị địa chỉ số$ ps -Af | grep mysqld
6 – hiển thị PID và tên của chương trình sở hữu ổ cắm
Do đó, hãy sử dụng tùy chọn
$ ps -Af | grep mysqld7 để chỉ định cổng bạn nhìn thấy từ đầu ra ở trên khi truy cập máy chủ cơ sở dữ liệu
$ ps -Af | grep mysqld3
3. Nếu tất cả các lệnh trên chạy thành công nhưng bạn vẫn thấy lỗi, hãy mở tệp cấu hình mysql
$ ps -Af | grep mysqld4
Tìm dòng bên dưới và nhận xét nó bằng ký tự
$ ps -Af | grep mysqld8
$ ps -Af | grep mysqld6
Lưu tệp và thoát, sau đó khởi động lại dịch vụ mysql như vậy
$ sudo systemctl start mysql.service $ sudo systemctl start mariadb.service OR # sudo /etc/init.d/mysqld start
Tuy nhiên, nếu bạn có tường lửaD hoặc Iptables đang chạy, hãy thử xem lại các dịch vụ tường lửa và mở cổng mysql, giả sử đó là tường lửa chặn các kết nối TCP-IP đến máy chủ mysql của bạn
Đó là tất cả. Bạn có biết các phương pháp khác hoặc có đề xuất để giải quyết lỗi kết nối MySQL ở trên không?
Tôi đã tạo một người dùng bên ngoài với tên máy chủ '%' để cho phép truy cập từ xa. Tôi gặp lỗi sau khi kết nối MySQL cục bộ với AWS RDS từ xa
LỖI 2003 [HY000]. Không thể kết nối với máy chủ MySQL trên 'ví dụ. cvxqy8tbi2bk. chúng tôi-đông-1. số thứ tự. amazonaws. com' [110]
Tôi đã thử bình luận về
$ ps -Af | grep mysqld9 nhưng không có giải pháp.
Có gợi ý nào cho việc này không?
Giải pháp tốt nhất
Bất kỳ ai gặp phải sự cố này hôm nay nên xem video YouTube này vào khoảng 6 giờ. 05
Thiết lập cơ sở dữ liệu MySQL AWS RDS. Hướng dẫn từng bước
Tóm lại, bạn phải tạo quy tắc bảo mật trong nước mới để cho phép kết nối bên ngoài
Giải pháp liên quan
Mysql – Không thể kết nối từ máy chủ thesql cục bộ với phiên bản db AWS RDS
Có, ứng dụng Amazon Beanstalk và các nhóm bảo mật RDS phải giống nhau để kết nối ứng dụng với phiên bản cơ sở dữ liệu