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

$> mysql
ERROR 2003: Can't connect to MySQL server on 'host_name' (111)
$> mysql
ERROR 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (111)
  • 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

    $> netstat -ln | grep mysql
    
  • Đả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

    $> netstat -ln | grep mysql
    
    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ừ xa

  • Kiể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

    $> netstat -ln | grep mysql
    
    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

    $> netstat -ln | grep mysql
    
    6 trong thư mục dữ liệu. (Thư mục dữ liệu thường có tên là
    $> netstat -ln | grep mysql
    
    8 hoặc
    $> netstat -ln | grep mysql
    
    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
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    0 trong thư mục cơ sở dữ liệu
    $> netstat -ln | grep mysql
    
    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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    

    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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    2 bằng cách sử dụng tùy chọn (hoặc )

    $> mysql -u root -p
    Enter password:
    

    Tuy nhiên, máy chủ sẽ cho phép bạn kết nối với tên

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    2; . 10. 4, “Bảo mật tài khoản MySQL ban đầu” để được hướng dẫn

  • Nế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

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    

    Để 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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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ình

    Bạ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ụ

    $> mysqladmin --no-defaults -u root version
    

    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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    2

    $> mysqladmin -u root -pxxxx ver
    Access denied for user 'root'@'localhost' (using password: YES)
    

    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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    2, hãy xem Phần B. 3. 3. 2, “Cách đặt lại mật khẩu gốc”

  • $> mysql -u root -p
    Enter password:
    
    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ào

    Bạ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

    $> mysql -u root -p
    Enter password:
    
    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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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
    $> mysql -u root -p
    Enter password:
    
    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
    $> mysql -u root -p
    Enter password:
    
    9, điều đó có nghĩa là bạn đã cố đăng nhập mà không có mật khẩu

  • Nếu bạn gặp lỗi

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    8 khi cố gắng kết nối với cơ sở dữ liệu bằng
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    1, bạn có thể gặp sự cố với bảng
    $> mysql -u root -p
    Enter password:
    
    6. Kiểm tra điều này bằng cách thực thi
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    3 và đưa ra câu lệnh SQL này

    SELECT * FROM user;
    

    Kết quả phải bao gồm một hàng có các cột

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4 và
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    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ạn

  • Nế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

    $> mysql -u root -p
    Enter password:
    
    6 có giá trị
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4 khớp với máy khách

    Host .. 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

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    8 là
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4 trong bảng
    $> mysql -u root -p
    Enter password:
    
    6. Sau khi thử kết nối từ máy khách, hãy sử dụng truy vấn
    $> mysqladmin --no-defaults -u root version
    
    1 để xem bạn thực sự đã kết nối như thế nào. Sau đó, thay đổi
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    8 trong hàng của bảng
    $> mysql -u root -p
    Enter password:
    
    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 đã cho

    Trê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

    $> mysqladmin --no-defaults -u root version
    
    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
    $> mysqladmin --no-defaults -u root version
    
    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ớn

  • Nế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

    $> mysqladmin -u root -pxxxx -h some_hostname ver
    Access denied for user 'root'@'' (using password: YES)
    

    Nếu bạn cố gắng kết nối dưới dạng

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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
    $> mysql -u root -p
    Enter password:
    
    6 với giá trị cột
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    5 là
    $> mysqladmin --no-defaults -u root version
    
    9 và mysqld không thể giải quyết tên máy chủ cho khách hàng của bạn

    $> netstat -ln | grep mysql
    
    0

    Nhữ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à

    • Xác định điều gì sai với máy chủ DNS của bạn và khắc phục nó

    • Chỉ định địa chỉ IP thay vì tên máy chủ trong bảng cấp MySQL

    • Đặt một mục nhập cho tên máy khách trong

      $> mysqladmin -u root -pxxxx ver
      Access denied for user 'root'@'localhost' (using password: YES)
      
      0 trên Unix hoặc
      $> mysqladmin -u root -pxxxx ver
      Access denied for user 'root'@'localhost' (using password: YES)
      
      1 trên Windows

    • Bắt đầu mysqld với biến hệ thống được bật

    • Bắt đầu mysqld với tùy chọn

    • Trên Unix, nếu bạn đang chạy máy chủ và máy khách trên cùng một máy, hãy kết nối với

      $> mysql -u root -p
      Enter password:
      
      3. Đối với các kết nối tới
      $> mysql -u root -p
      Enter password:
      
      3, các chương trình MySQL cố gắng kết nối với máy chủ cục bộ bằng cách sử dụng tệp ổ cắm Unix, trừ khi có các tham số kết nối được chỉ định để đảm bảo rằng máy khách tạo kết nối TCP/IP. Để biết thêm thông tin, hãy xem Phần 4. 2. 4, “Kết nối với máy chủ MySQL bằng tùy chọn lệnh”

    • Trên Windows, nếu bạn đang chạy máy chủ và máy khách trên cùng một máy và máy chủ hỗ trợ kết nối đường ống có tên, hãy kết nối với máy chủ tên

      $> mysqladmin -u root -pxxxx ver
      Access denied for user 'root'@'localhost' (using password: YES)
      
      6 (dấu chấm). Các kết nối tới
      $> mysqladmin -u root -pxxxx ver
      Access denied for user 'root'@'localhost' (using password: YES)
      
      6 sử dụng một đường dẫn có tên thay vì TCP/IP

  • Nếu

    $> mysqladmin -u root -pxxxx ver
    Access denied for user 'root'@'localhost' (using password: YES)
    
    8 hoạt động nhưng gốc của
    $> mysqladmin -u root -pxxxx ver
    Access denied for user 'root'@'localhost' (using password: YES)
    
    9 -u cho kết quả là
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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
    $> mysql -u root -p
    Enter password:
    
    6. Một vấn đề phổ biến ở đây là giá trị
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4 trong hàng của bảng
    $> mysql -u root -p
    Enter password:
    
    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
    $> mysql -u root -p
    Enter password:
    
    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
    $> mysql -u root -p
    Enter password:
    
    6 có chứa địa chỉ IP của máy chủ của bạn dưới dạng giá trị cột
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4. (Ngoài ra, bạn có thể thêm một hàng vào bảng
    $> mysql -u root -p
    Enter password:
    
    6 với giá trị
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4 có chứa ký tự đại diện (ví dụ:
    Host .. is not allowed to connect to this MySQL server
    
    2). Tuy nhiên, việc sử dụng các giá trị
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4 kết thúc bằng
    Host .. is not allowed to connect to this MySQL server
    
    4 là không an toàn và không được khuyến nghị. )

  • Nếu

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    1 hoạt động nhưng
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    1
    Host .. is not allowed to connect to this MySQL server
    
    7 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 server
    
    7

  • Nếu

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    1 hoạt động khi được thực thi trên máy chủ, nhưng
    $> mysqladmin -u root -pxxxx -h some_hostname ver
    Access denied for user 'root'@'' (using password: YES)
    
    0 -u
    $> mysqladmin -u root -pxxxx -h some_hostname ver
    Access denied for user 'root'@'' (using password: YES)
    
    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ừ xa

  • Nếu bạn không thể hiểu tại sao bạn nhận được

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    8, hãy xóa khỏi bảng
    $> mysql -u root -p
    Enter password:
    
    6 tất cả các hàng có giá trị
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4 chứa ký tự đại diện (các hàng chứa
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    8 hoặc
    $> mysqladmin -u root -pxxxx -h some_hostname ver
    Access denied for user 'root'@'' (using password: YES)
    
    6 ký tự). Một lỗi rất phổ biến là chèn một hàng mới với
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4=
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    8 và
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    5=
    $> netstat -ln | grep mysql
    
    00', nghĩ rằng điều này cho phép bạn chỉ định
    $> mysql -u root -p
    Enter password:
    
    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ó
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4=
    $> netstat -ln | grep mysql
    
    03 và
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    5=
    $> netstat -ln | grep mysql
    
    05. Bởi vì hàng đó có giá trị
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4
    $> netstat -ln | grep mysql
    
    03 cụ thể hơn giá trị
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    8, nó được ưu tiên sử dụng cho hàng mới khi kết nối từ
    $> mysql -u root -p
    Enter password:
    
    3. Quy trình đúng là chèn một hàng thứ hai với
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4=
    $> netstat -ln | grep mysql
    
    03 và
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    5=
    $> netstat -ln | grep mysql
    
    00', hoặc xóa hàng với
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    4=
    $> netstat -ln | grep mysql
    
    03 và
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    5=
    $> netstat -ln | grep mysql
    
    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

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    8 bất cứ khi nào bạn đưa ra câu lệnh
    $> netstat -ln | grep mysql
    
    20 hoặc
    $> netstat -ln | grep mysql
    
    21, thì hàng của bạn trong bảng
    $> mysql -u root -p
    Enter password:
    
    6 không được bật đặc quyền

  • Nế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

    $> netstat -ln | grep mysql
    
    24,
    $> netstat -ln | grep mysql
    
    25 hoặc
    $> netstat -ln | grep mysql
    
    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
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    2 bằng câu lệnh
    $> netstat -ln | grep mysql
    
    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ẩu

  • Nế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

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    1
    $> netstat -ln | grep mysql
    
    31 hoặc
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    
    1 -p_______1_______33
    $> netstat -ln | grep mysql
    
    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
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    
    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

    $> netstat -ln | grep mysql
    
    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.