Không thể kết nối với máy chủ MySQL trên 127.0 01 111
Đảm bảo rằng máy chủ đang chạy. Nếu không, khách hàng không thể kết nối với nó. Ví dụ: nếu nỗ lực kết nối với máy chủ không thành công với một thông báo như một trong những thông báo sau, một nguyên nhân có thể là do máy chủ không chạy Show $> Có thể máy chủ đang chạy, nhưng bạn đang cố kết nối bằng cổng TCP/IP, đường ống có tên hoặc tệp ổ cắm Unix khác với cổng mà máy chủ đang lắng nghe. Để sửa lỗi này khi bạn gọi một chương trình máy khách, hãy chỉ định một tùy chọn để chỉ ra số cổng thích hợp hoặc một tùy chọn để chỉ ra đường dẫn được đặt tên thích hợp hoặc tệp ổ cắm Unix. Để tìm ra vị trí của tệp ổ cắm, bạn có thể sử dụng lệnh này $> Đảm bảo rằng máy chủ chưa được định cấu hình để bỏ qua các kết nối mạng hoặc (nếu bạn đang cố kết nối từ xa) rằng máy chủ chưa được định cấu hình để chỉ nghe cục bộ trên các giao diện mạng của nó. Nếu máy chủ được khởi động với biến hệ thống được bật, thì nó hoàn toàn không chấp nhận các kết nối TCP/IP. Nếu máy chủ được khởi động với biến hệ thống được đặt thành $> 5, thì máy chủ chỉ lắng nghe các kết nối TCP/IP cục bộ trên giao diện vòng lặp và không chấp nhận các kết nối từ xaKiểm tra để đảm bảo rằng không có tường lửa chặn quyền truy cập vào MySQL. Tường lửa của bạn có thể được định cấu hình trên cơ sở ứng dụng đang được thực thi hoặc số cổng được MySQL sử dụng để liên lạc (3306 theo mặc định). Trong Linux hoặc Unix, hãy kiểm tra cấu hình bảng IP (hoặc tương tự) của bạn để đảm bảo rằng cổng không bị chặn. Trong Windows, các ứng dụng như ZoneAlarm hoặc Windows Firewall có thể cần được cấu hình để không chặn cổng MySQL Các bảng cấp phải được thiết lập đúng cách để máy chủ có thể sử dụng chúng để kiểm soát truy cập. Đối với một số loại phân phối (chẳng hạn như phân phối nhị phân trên Windows hoặc phân phối RPM và DEB trên Linux), quá trình cài đặt sẽ khởi tạo thư mục dữ liệu MySQL, bao gồm cơ sở dữ liệu hệ thống $> 6 chứa các bảng cấp. Đối với các bản phân phối không làm điều này, bạn phải khởi tạo thư mục dữ liệu theo cách thủ công. Để biết chi tiết, hãy xem Phần 2. 10, “Thiết lập và kiểm tra sau cài đặt”Để xác định xem bạn có cần khởi tạo các bảng cấp hay không, hãy tìm thư mục $> 6 trong thư mục dữ liệu. (Thư mục dữ liệu thường có tên là $> 8 hoặc $> 9 và nằm trong thư mục cài đặt MySQL của bạn. ) Đảm bảo rằng bạn có tệp có tên $> 0 trong thư mục cơ sở dữ liệu $> 6. Nếu không, hãy khởi tạo thư mục dữ liệu. Sau khi làm như vậy và khởi động máy chủ, bạn sẽ có thể kết nối với máy chủSau khi cài đặt mới, nếu bạn cố đăng nhập vào máy chủ bằng tên $> 2 mà không sử dụng mật khẩu, bạn có thể nhận được thông báo lỗi sau$> Nó có nghĩa là mật khẩu gốc đã được chỉ định trong quá trình cài đặt và nó phải được cung cấp. Xem Phần 2. 10. 4, “Bảo mật tài khoản MySQL ban đầu” về các cách khác nhau để gán mật khẩu và trong một số trường hợp, cách tìm mật khẩu. Nếu bạn cần đặt lại mật khẩu gốc, hãy xem hướng dẫn trong Phần B. 3. 3. 2, “Cách đặt lại mật khẩu gốc”. Sau khi bạn đã tìm thấy hoặc đặt lại mật khẩu của mình, hãy đăng nhập lại với tên $> 2 bằng cách sử dụng tùy chọn (hoặc )$> Tuy nhiên, máy chủ sẽ cho phép bạn kết nối với tên $> 2 mà không cần sử dụng mật khẩu nếu bạn đã khởi tạo MySQL bằng mysqld --initialize-insecure (xem Phần 2. 10. 1, “Khởi tạo thư mục dữ liệu” để biết chi tiết). Đó là một rủi ro bảo mật, vì vậy bạn nên đặt mật khẩu cho tài khoản $> 2; . 10. 4, “Bảo mật tài khoản MySQL ban đầu” để được hướng dẫnNếu bạn đã cập nhật cài đặt MySQL hiện có lên phiên bản mới hơn, bạn có thực hiện quy trình nâng cấp MySQL không? . Cấu trúc của các bảng cấp phép thỉnh thoảng thay đổi khi các khả năng mới được thêm vào, vì vậy sau khi nâng cấp, bạn phải luôn đảm bảo rằng các bảng của mình có cấu trúc hiện tại. Để biết hướng dẫn, hãy xem Phần 2. 11, “Nâng cấp MySQL” Nếu chương trình máy khách nhận được thông báo lỗi sau khi cố gắng kết nối, điều đó có nghĩa là máy chủ mong đợi mật khẩu ở định dạng mới hơn định dạng mà máy khách có thể tạo ra $> Để biết thông tin về cách giải quyết vấn đề này, hãy xem Phần 6. 4. 1. 3, “Di cư khỏi Pre-4. 1 Băm mật khẩu và Plugin mysql_old_password” Hãy nhớ rằng các chương trình máy khách sử dụng các tham số kết nối được chỉ định trong tệp tùy chọn hoặc biến môi trường. Nếu một chương trình máy khách dường như đang gửi các tham số kết nối mặc định không chính xác khi bạn chưa chỉ định chúng trên dòng lệnh, hãy kiểm tra mọi tệp tùy chọn hiện hành và môi trường của bạn. Ví dụ: nếu bạn nhận được $> 8 khi chạy ứng dụng khách mà không có bất kỳ tùy chọn nào, hãy đảm bảo rằng bạn chưa chỉ định mật khẩu cũ trong bất kỳ tệp tùy chọn nào của mìnhBạn có thể chặn việc sử dụng các tệp tùy chọn bởi một chương trình máy khách bằng cách gọi nó bằng tùy chọn. Ví dụ $> Các tệp tùy chọn mà khách hàng sử dụng được liệt kê trong Phần 4. 2. 2. 2, “Sử dụng tệp tùy chọn”. Các biến môi trường được liệt kê trong Phần 4. 9, “Biến số môi trường” Nếu bạn gặp lỗi sau, điều đó có nghĩa là bạn đang sử dụng sai mật khẩu $> 2$> Nếu lỗi trước xảy ra ngay cả khi bạn chưa chỉ định mật khẩu, điều đó có nghĩa là bạn có mật khẩu không chính xác được liệt kê trong một số tệp tùy chọn. Hãy thử tùy chọn như được mô tả trong mục trước Để biết thông tin về cách thay đổi mật khẩu, hãy xem Phần 6. 2. 10, “Gán mật khẩu tài khoản” Nếu bạn bị mất hoặc quên mật khẩu $> 2, hãy xem Phần B. 3. 3. 2, “Cách đặt lại mật khẩu gốc”$> 3 là từ đồng nghĩa với tên máy chủ cục bộ của bạn và cũng là máy chủ mặc định mà khách hàng cố gắng kết nối nếu bạn chỉ định rõ ràng không có máy chủ nàoBạn có thể sử dụng một tùy chọn để đặt tên rõ ràng cho máy chủ lưu trữ. Điều này tạo kết nối TCP/IP tới máy chủ mysqld cục bộ. Bạn cũng có thể sử dụng TCP/IP bằng cách chỉ định tùy chọn sử dụng tên máy chủ thực của máy chủ cục bộ. Trong trường hợp này, tên máy chủ phải được chỉ định trong một hàng của bảng $> 6 trên máy chủ lưu trữ, mặc dù bạn đang chạy chương trình máy khách trên cùng một máy chủ với máy chủThông báo lỗi $> 8 cho bạn biết bạn đang cố gắng đăng nhập với tư cách là ai, máy chủ lưu trữ máy khách mà bạn đang cố gắng kết nối và liệu bạn có đang sử dụng mật khẩu hay không. Thông thường, bạn nên có một hàng trong bảng $> 6 khớp chính xác với tên máy chủ và tên người dùng được cung cấp trong thông báo lỗi. Ví dụ: nếu bạn nhận được thông báo lỗi có chứa $> 9, điều đó có nghĩa là bạn đã cố đăng nhập mà không có mật khẩuNếu bạn gặp lỗi $> 8 khi cố gắng kết nối với cơ sở dữ liệu bằng $> 1, bạn có thể gặp sự cố với bảng $> 6. Kiểm tra điều này bằng cách thực thi $> 3 và đưa ra câu lệnh SQL nàySELECT * FROM user; Kết quả phải bao gồm một hàng có các cột $> 4 và $> 5 khớp với tên máy chủ của khách hàng và tên người dùng MySQL của bạnNếu lỗi sau xảy ra khi bạn cố gắng kết nối từ một máy chủ khác với máy chủ MySQL đang chạy, điều đó có nghĩa là không có hàng nào trong bảng $> 6 có giá trị $> 4 khớp với máy kháchHost .. is not allowed to connect to this MySQL server Bạn có thể khắc phục điều này bằng cách thiết lập một tài khoản cho sự kết hợp giữa tên máy chủ của máy khách và tên người dùng mà bạn đang sử dụng khi cố gắng kết nối Nếu bạn không biết địa chỉ IP hoặc tên máy chủ của máy mà bạn đang kết nối, bạn nên đặt một hàng có giá trị cột $> 8 là $> 4 trong bảng $> 6. Sau khi thử kết nối từ máy khách, hãy sử dụng truy vấn $> 1 để xem bạn thực sự đã kết nối như thế nào. Sau đó, thay đổi $> 8 trong hàng của bảng $> 6 thành tên máy chủ thực tế hiển thị trong nhật ký. Mặt khác, hệ thống của bạn không an toàn vì nó cho phép kết nối từ bất kỳ máy chủ nào đối với tên người dùng đã choTrên Linux, một lý do khác khiến lỗi này có thể xảy ra là do bạn đang sử dụng phiên bản MySQL nhị phân được biên dịch với phiên bản thư viện $> 4 khác với phiên bản bạn đang sử dụng. Trong trường hợp này, bạn nên nâng cấp hệ điều hành của mình hoặc $> 4 hoặc tải xuống bản phân phối nguồn của phiên bản MySQL và tự biên dịch nó. RPM nguồn thường không đáng kể để biên dịch và cài đặt, vì vậy đây không phải là vấn đề lớnNếu bạn chỉ định tên máy chủ khi cố gắng kết nối, nhưng nhận được thông báo lỗi trong đó tên máy chủ không được hiển thị hoặc là địa chỉ IP, điều đó có nghĩa là máy chủ MySQL đã gặp lỗi khi cố gắng phân giải địa chỉ IP của máy khách thành $> Nếu bạn cố gắng kết nối dưới dạng $> 2 và gặp lỗi sau, điều đó có nghĩa là bạn không có hàng nào trong bảng $> 6 với giá trị cột $> 5 là $> 9 và mysqld không thể giải quyết tên máy chủ cho khách hàng của bạn$> 0Những lỗi này cho biết sự cố DNS. Để khắc phục, hãy thực thi mysqladmin flush-hosts để đặt lại bộ đệm máy chủ DNS bên trong. Xem Phần 5. 1. 11. 2, “Tra cứu DNS và bộ nhớ cache của máy chủ” Một số giải pháp lâu dài là
Nếu $> 8 hoạt động nhưng gốc của $> 9 -u cho kết quả là $> 8 (trong đó SELECT * FROM user;1 là tên máy chủ thực của máy chủ cục bộ), bạn có thể không có tên chính xác cho máy chủ của mình trong bảng $> 6. Một vấn đề phổ biến ở đây là giá trị $> 4 trong hàng của bảng $> 6 chỉ định một tên máy chủ không đủ tiêu chuẩn, nhưng quy trình phân giải tên của hệ thống của bạn lại trả về một tên miền đủ tiêu chuẩn (hoặc ngược lại). Ví dụ: nếu bạn có một hàng với máy chủ SELECT * FROM user;5 trong bảng $> 6, nhưng DNS của bạn cho MySQL biết rằng tên máy chủ của bạn là SELECT * FROM user;7, thì hàng đó không hoạt động. Hãy thử thêm một hàng vào bảng $> 6 có chứa địa chỉ IP của máy chủ của bạn dưới dạng giá trị cột $> 4. (Ngoài ra, bạn có thể thêm một hàng vào bảng $> 6 với giá trị $> 4 có chứa ký tự đại diện (ví dụ: Host .. is not allowed to connect to this MySQL server2). Tuy nhiên, việc sử dụng các giá trị $> 4 kết thúc bằng Host .. is not allowed to connect to this MySQL server4 là không an toàn và không được khuyến nghị. ) Nếu $> 1 hoạt động nhưng $> 1 Host .. is not allowed to connect to this MySQL server7 thì không, bạn chưa cấp quyền truy cập cho người dùng cụ thể đối với cơ sở dữ liệu có tên Host .. is not allowed to connect to this MySQL server7 Nếu $> 1 hoạt động khi được thực thi trên máy chủ, nhưng $> 0 -u $> 1 không hoạt động khi được thực thi trên máy chủ của máy khách từ xa, thì bạn chưa kích hoạt quyền truy cập vào máy chủ cho tên người dùng đã cho từ máy chủ từ xaNếu bạn không thể hiểu tại sao bạn nhận được $> 8, hãy xóa khỏi bảng $> 6 tất cả các hàng có giá trị $> 4 chứa ký tự đại diện (các hàng chứa $> 8 hoặc $> 6 ký tự). Một lỗi rất phổ biến là chèn một hàng mới với $> 4=$> 8 và $> 5=$> 00', nghĩ rằng điều này cho phép bạn chỉ định $> 3 để kết nối từ cùng một máy. Lý do điều này không hoạt động là do các đặc quyền mặc định bao gồm một hàng có $> 4=$> 03 và $> 5=$> 05. Bởi vì hàng đó có giá trị $> 4 $> 03 cụ thể hơn giá trị $> 8, nó được ưu tiên sử dụng cho hàng mới khi kết nối từ $> 3. Quy trình đúng là chèn một hàng thứ hai với $> 4=$> 03 và $> 5=$> 00', hoặc xóa hàng với $> 4=$> 03 và $> 5=$> 05. Sau khi xóa hàng nhớ ra câu lệnh nạp lại các bảng cấp. Xem thêm Phần 6. 2. 5, “Kiểm soát truy cập, Giai đoạn 1. Xác minh kết nối”Nếu bạn có thể kết nối với máy chủ MySQL, nhưng nhận được thông báo $> 8 bất cứ khi nào bạn đưa ra câu lệnh $> 20 hoặc $> 21, thì hàng của bạn trong bảng $> 6 không được bật đặc quyềnNếu bạn trực tiếp thay đổi các bảng cấp phép (ví dụ: bằng cách sử dụng các câu lệnh $> 24, $> 25 hoặc $> 26) và những thay đổi của bạn dường như bị bỏ qua, hãy nhớ rằng bạn phải thực thi một câu lệnh hoặc lệnh flush-privileges mysqladmin để khiến máy chủ tải lại . Nếu không, các thay đổi của bạn sẽ không có hiệu lực cho đến lần khởi động lại máy chủ tiếp theo. Hãy nhớ rằng sau khi bạn thay đổi mật khẩu $> 2 bằng câu lệnh $> 25, bạn không cần chỉ định mật khẩu mới cho đến sau khi bạn xóa đặc quyền, vì máy chủ vẫn chưa biết rằng bạn đã thay đổi mật khẩuNếu các đặc quyền của bạn dường như đã thay đổi vào giữa phiên, có thể quản trị viên MySQL đã thay đổi chúng. Việc tải lại các bảng cấp sẽ ảnh hưởng đến các kết nối khách hàng mới, nhưng nó cũng ảnh hưởng đến các kết nối hiện có như đã nêu trong Phần 6. 2. 9, “Khi các thay đổi về đặc quyền có hiệu lực” Nếu bạn gặp sự cố truy cập với chương trình Perl, PHP, Python hoặc ODBC, hãy thử kết nối với máy chủ bằng $> 1 $> 31 hoặc $> 1 -p_______1_______33 $> 31. Nếu bạn có thể kết nối bằng ứng dụng khách mysql, vấn đề nằm ở chương trình của bạn, không phải ở đặc quyền truy cập. (Không có khoảng cách giữa $> 5 và mật khẩu; bạn cũng có thể sử dụng cú pháp để chỉ định mật khẩu. Nếu bạn sử dụng tùy chọn $> 5 hoặc không có giá trị mật khẩu, MySQL sẽ nhắc bạn nhập mật khẩu. )Đối với mục đích thử nghiệm, hãy khởi động máy chủ mysqld với tùy chọn. Sau đó, bạn có thể thay đổi các bảng cấp MySQL và sử dụng câu lệnh $> 40 để kiểm tra xem các sửa đổi của bạn có hiệu quả như mong muốn hay không. Khi bạn hài lòng với những thay đổi của mình, hãy thực thi mysqladmin flush-privileges để yêu cầu máy chủ mysqld tải lại các đặc quyền. Điều này cho phép bạn bắt đầu sử dụng nội dung bảng cấp mới mà không cần dừng và khởi động lại máy chủNếu mọi thứ khác không thành công, hãy khởi động máy chủ mysqld bằng tùy chọn gỡ lỗi (ví dụ: ). Điều này in thông tin máy chủ và người dùng về các kết nối đã thử, cũng như thông tin về từng lệnh được ban hành. Xem Phần 5. 8. 3, “Gói DBUG” Nếu bạn có bất kỳ vấn đề nào khác với các bảng cấp MySQL và hỏi trên MySQL Community Slack, hãy luôn cung cấp kết xuất các bảng cấp MySQL. Bạn có thể kết xuất các bảng bằng lệnh mysqldump mysql. Để gửi báo cáo lỗi, hãy xem hướng dẫn tại Phần 1. 5, “Cách báo cáo lỗi hoặc sự cố”. Trong một số trường hợp, bạn có thể cần khởi động lại mysqld để chạy mysqldump Tại sao tôi không thể kết nối với MySQL bằng địa chỉ IP?thông thường có nghĩa là không có máy chủ MySQL nào đang chạy trên hệ thống hoặc bạn đang sử dụng tên tệp ổ cắm Unix hoặc số cổng TCP/IP không chính xác when trying to connect to the server. You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.
Không thể kết nối máy chủ có thể không chạy không thể kết nối với máy chủ MySQL trên 127. 0 0. 1 10061?Bạn chỉ cần cài đặt Máy chủ MySQL . Để cài đặt máy chủ MySQL, bạn phải chạy "Trình cài đặt MySql" rồi nhấn nút "Thêm" rồi chọn "Máy chủ MySQL" trong cây. Sau khi làm điều đó, hãy chạy lại bàn làm việc của bạn và bạn sẽ nhận thấy rằng đã có một kết nối được định cấu hình.
Lỗi kết nối với máy chủ 111 là gì?Lỗi SMTP 111 xảy ra khi có sự cố trong khi kết nối với máy chủ SMTP từ xa . Ví dụ: bạn sẽ gặp phải lỗi này do miền người gửi không hợp lệ hoặc sự cố tường lửa.
Có thể kết nối với máy chủ MySQL trên máy chủ cục bộ không?Điều này có thể được thực hiện với hàm mysql_connect PHP . $mysqli = new mysqli("localhost", $username, $password, $database); . Sau khi kết nối được thiết lập, bạn nên chọn cơ sở dữ liệu bạn muốn sử dụng. |