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

Người dùng không thể kết nối với MySQL khi cố định cấu hình JIRA lần đầu tiên. Sau khi tạo cơ sở dữ liệu và trải qua quá trình thiết lập, người dùng được nhắc *Lỗi liên kết truyền thông Gói cuối cùng được gửi thành công tới máy chủ là 0 mili giây trước. Trình điều khiển chưa nhận được bất kỳ gói tin nào từ máy chủ. * lỗi


Môi trường

JIRA 7. 0. 4

Ubuntu 14. 04 máy chủ

mysql 5. 6. 27

Trình điều khiển JDBC. mysql-connector-java-5. 1. 38 thùng. cái lọ

Chẩn đoán


Các bước chẩn đoán

  • Đảm bảo cơ sở dữ liệu đã tạo được phát hiện. Sử dụng cơ sở dữ liệu hiển thị;

  • Chạy lệnh  netstat -tln  trong thiết bị đầu cuối để xem liệu MySQL có đang lắng nghe cổng 3306 trong máy chủ cục bộ hay không
  • Đăng nhập vào MySQL trong thiết bị đầu cuối và chạy  HIỂN THỊ TIỀN CẤP CHO 'jira'@'localhost'; .

Nguyên nhân

Trước đây nếu MySQL được thiết lập để có quyền truy cập từ xa, nó có thể được cấu hình để truy cập LAN IP thay vì localhost [127. 0. 0. 1. 3306] địa chỉ IP. Nếu bất kỳ người dùng nào thiết lập MySQL trong localhost, JIRA sẽ không thể kết nối với MySQL vì MySQL không được kết nối với localhost

Nghị quyết

Nếu MySQL đang lắng nghe LAN IP, hãy thay đổi lại để nó lắng nghe localhost

  • Mở /etc/mysql/my. cnf trong trình soạn thảo văn bản
  • Thay đổi địa chỉ liên kết = 192. X. X. X đến bind-address = 127. 0. 0. 1 và lưu
  • Khởi động lại dịch vụ MySQL

  • Sử dụng netstat -tln để xác minh rằng MySQL đang lắng nghe trong localhost 127. 0. 0. 1. cổng 3306

Mô tảNgười dùng không thể kết nối với MySQL khi cố định cấu hình JIRA lần đầu tiên. Sau khi tạo cơ sở dữ liệu và trải qua quá trình thiết lập, người dùng được nhắc *Lỗi liên kết truyền thông Gói cuối cùng được gửi thành công đến máy chủ là 0 mili giây trước. Trình điều khiển chưa nhận được bất kỳ gói tin nào từ máy chủ. * lỗi. Sản phẩmJiraPlatformServer

Đả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 tùy chọn

    $> netstat -ln | grep mysql
    
    1 để chỉ ra số cổng thích hợp hoặc tùy chọn
    $> netstat -ln | grep mysql
    
    2 để chỉ ra đường ống đượ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

    $> netstat -ln | grep mysql
    
    3 được bật, thì không có kết nối TCP/IP nào được chấp nhận. Nếu máy chủ được khởi động với biến hệ thống
    $> netstat -ln | grep mysql
    
    4 đượ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 loopback 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 phé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
    $> netstat -ln | grep mysql
    
    10 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

    $> netstat -ln | grep mysql
    
    12 mà không sử dụng mật khẩu, bạn có thể nhận được thông báo lỗi sau

    $> netstat -ln | grep mysql
    
    1

    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

    $> netstat -ln | grep mysql
    
    12 bằng cách sử dụng tùy chọn
    $> netstat -ln | grep mysql
    
    14 [hoặc
    $> netstat -ln | grep mysql
    
    15]

    $> netstat -ln | grep mysql
    
    8

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

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

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

    $> netstat -ln | grep mysql
    
    18 khi chạy ứng dụng khách 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 của chương trình máy khách bằng cách gọi nó bằng tùy chọn

    $> netstat -ln | grep mysql
    
    19. Ví dụ

    $> netstat -ln | grep mysql
    
    4

    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

    $> netstat -ln | grep mysql
    
    12

    $> netstat -ln | grep mysql
    
    6

    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

    $> netstat -ln | grep mysql
    
    19 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. 14, “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

    $> netstat -ln | grep mysql
    
    12, hãy xem Phần B. 3. 3. 2, “Cách đặt lại mật khẩu gốc”

  • $> netstat -ln | grep mysql
    
    83 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 tùy chọn

    $> netstat -ln | grep mysql
    
    84 để đặt tên rõ ràng cho máy chủ lưu trữ. Điều này gây ra kết nối TCP/IP đến 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
    $> netstat -ln | grep mysql
    
    85 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
    $> netstat -ln | grep mysql
    
    86 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

    $> netstat -ln | grep mysql
    
    18 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
    $> netstat -ln | grep mysql
    
    86 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
    $> netstat -ln | grep mysql
    
    89, đ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

    $> netstat -ln | grep mysql
    
    18 khi cố gắng kết nối với cơ sở dữ liệu bằng
    $> netstat -ln | grep mysql
    
    11, bạn có thể gặp sự cố với bảng
    $> netstat -ln | grep mysql
    
    86. Kiểm tra điều này bằng cách thực thi
    $> netstat -ln | grep mysql
    
    13 và đưa ra câu lệnh SQL này

    $> netstat -ln | grep mysql
    
    0

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

    $> netstat -ln | grep mysql
    
    14 và
    $> netstat -ln | grep mysql
    
    15 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 xảy ra lỗi sau 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

    $> netstat -ln | grep mysql
    
    86 có giá trị
    $> netstat -ln | grep mysql
    
    14 khớp với máy khách

    $> netstat -ln | grep mysql
    
    5

    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

    $> netstat -ln | grep mysql
    
    18 là giá trị cột
    $> netstat -ln | grep mysql
    
    14 trong bảng
    $> netstat -ln | grep mysql
    
    86. Sau khi thử kết nối từ máy khách, hãy sử dụng truy vấn
    $> netstat -ln | grep mysql
    
    41 để xem bạn thực sự đã kết nối như thế nào. Sau đó, thay đổi
    $> netstat -ln | grep mysql
    
    18 trong hàng của bảng
    $> netstat -ln | grep mysql
    
    86 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 bằng phiên bản thư viện

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

    $> netstat -ln | grep mysql
    
    4

    Nếu bạn cố gắng kết nối với tên

    $> netstat -ln | grep mysql
    
    12 và gặp lỗi sau, điều đó có nghĩa là bạn không có hàng nào trong bảng
    $> netstat -ln | grep mysql
    
    86 với giá trị cột
    $> netstat -ln | grep mysql
    
    15 là
    $> netstat -ln | grep mysql
    
    49 và mysqld không thể phân giải tên máy chủ cho ứng dụng khách 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. 12. 3, “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

      $> netstat -ln | grep mysql
      
      60 trên Unix hoặc
      $> netstat -ln | grep mysql
      
      61 trên Windows

    • Bắt đầu mysqld với biến hệ thống

      $> netstat -ln | grep mysql
      
      62 được bật

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

      $> netstat -ln | grep mysql
      
      63

    • 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

      $> netstat -ln | grep mysql
      
      83. Đối với các kết nối tới
      $> netstat -ln | grep mysql
      
      83, 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 tên máy chủ

      $> netstat -ln | grep mysql
      
      66 [dấu chấm]. Các kết nối tới
      $> netstat -ln | grep mysql
      
      66 sử dụng một đường ống có tên thay vì TCP/IP

  • Nếu

    $> netstat -ln | grep mysql
    
    68 hoạt động nhưng gốc
    $> netstat -ln | grep mysql
    
    69 -u dẫn đến
    $> netstat -ln | grep mysql
    
    18 [trong đó
    $> netstat -ln | grep mysql
    
    01 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
    $> netstat -ln | grep mysql
    
    86. Một vấn đề phổ biến ở đây là giá trị
    $> netstat -ln | grep mysql
    
    14 trong hàng của bảng
    $> netstat -ln | grep mysql
    
    86 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ủ
    $> netstat -ln | grep mysql
    
    05 trong bảng
    $> netstat -ln | grep mysql
    
    86, nhưng DNS của bạn cho MySQL biết rằng tên máy chủ của bạn là
    $> netstat -ln | grep mysql
    
    07, thì hàng đó không hoạt động. Hãy thử thêm một hàng vào bảng
    $> netstat -ln | grep mysql
    
    86 có chứa địa chỉ IP của máy chủ lưu trữ của bạn dưới dạng giá trị cột
    $> netstat -ln | grep mysql
    
    14. [Ngoài ra, bạn có thể thêm một hàng vào bảng
    $> netstat -ln | grep mysql
    
    86 với giá trị
    $> netstat -ln | grep mysql
    
    14 có chứa ký tự đại diện [ví dụ:
    $> netstat -ln | grep mysql
    
    52]. Tuy nhiên, việc sử dụng các giá trị
    $> netstat -ln | grep mysql
    
    14 kết thúc bằng
    $> netstat -ln | grep mysql
    
    54 là không an toàn và không được khuyến nghị. ]

  • Nếu

    $> netstat -ln | grep mysql
    
    11 hoạt động nhưng
    $> netstat -ln | grep mysql
    
    11
    $> netstat -ln | grep mysql
    
    57 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
    $> netstat -ln | grep mysql
    
    57

  • Nếu

    $> netstat -ln | grep mysql
    
    11 hoạt động khi được thực thi trên máy chủ, nhưng
    $> netstat -ln | grep mysql
    
    40 -u
    $> netstat -ln | grep mysql
    
    41 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 bậ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

    $> netstat -ln | grep mysql
    
    18, hãy xóa khỏi bảng
    $> netstat -ln | grep mysql
    
    86 tất cả các hàng có giá trị
    $> netstat -ln | grep mysql
    
    14 chứa ký tự đại diện [các hàng chứa ký tự
    $> netstat -ln | grep mysql
    
    18 hoặc
    $> netstat -ln | grep mysql
    
    46]. Một lỗi rất phổ biến là chèn một hàng mới với
    $> netstat -ln | grep mysql
    
    14=
    $> netstat -ln | grep mysql
    
    18 và
    $> netstat -ln | grep mysql
    
    15=
    $> netstat -ln | grep mysql
    
    00', nghĩ rằng điều này cho phép bạn chỉ định
    $> netstat -ln | grep mysql
    
    83 để kết nối từ cùng một máy. Lý do điều này không hoạt động là vì các đặc quyền mặc định bao gồm một hàng có
    $> netstat -ln | grep mysql
    
    14=
    $> netstat -ln | grep mysql
    
    03 và
    $> netstat -ln | grep mysql
    
    15=
    $> netstat -ln | grep mysql
    
    05. Bởi vì hàng đó có giá trị
    $> netstat -ln | grep mysql
    
    14
    $> netstat -ln | grep mysql
    
    03 cụ thể hơn giá trị
    $> netstat -ln | grep mysql
    
    18, nó được ưu tiên sử dụng cho hàng mới khi kết nối từ
    $> netstat -ln | grep mysql
    
    83. Quy trình đúng là chèn một hàng thứ hai với
    $> netstat -ln | grep mysql
    
    14=
    $> netstat -ln | grep mysql
    
    03 và
    $> netstat -ln | grep mysql
    
    15=
    $> netstat -ln | grep mysql
    
    00', hoặc xóa hàng với
    $> netstat -ln | grep mysql
    
    14=
    $> netstat -ln | grep mysql
    
    03 và
    $> netstat -ln | grep mysql
    
    15=
    $> netstat -ln | grep mysql
    
    05. Sau khi xóa hàng nhớ ra câu lệnh
    $> netstat -ln | grep mysql
    
    18 để load lại các bảng cấp. Xem thêm Phần 6. 2. 6, “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

    $> netstat -ln | grep mysql
    
    18 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, hàng của bạn trong bảng
    $> netstat -ln | grep mysql
    
    86 không được bật đặc quyền
    $> netstat -ln | grep mysql
    
    23

  • 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à các thay đổi của bạn dường như bị bỏ qua, hãy nhớ rằng bạn phải thực thi câu lệnh
    $> netstat -ln | grep mysql
    
    18 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
    $> netstat -ln | grep mysql
    
    12 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ủ không biết cho đến lúc đó 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. 13, “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

    $> netstat -ln | grep mysql
    
    11
    $> netstat -ln | grep mysql
    
    31 hoặc
    $> netstat -ln | grep mysql
    
    11 -p
    $> netstat -ln | grep mysql
    
    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
    $> netstat -ln | grep mysql
    
    15 và mật khẩu; bạn cũng có thể sử dụng cú pháp
    $> netstat -ln | grep mysql
    
    43 để chỉ định mật khẩu. Nếu bạn sử dụng tùy chọn
    $> netstat -ln | grep mysql
    
    15 hoặc
    $> netstat -ln | grep mysql
    
    14 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

    $> netstat -ln | grep mysql
    
    39. 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ả 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ụ:

    $> netstat -ln | grep mysql
    
    41]. Đ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. 9. 4, “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 với

    $> netstat -ln | grep mysql
    
    39 để chạy mysqldump

    Làm cách nào để định cấu hình MySQL để cho phép kết nối từ xa?

    Bước 1. Chỉnh sửa tệp cấu hình MySQL
    Bước 2. Thiết lập tường lửa để cho phép kết nối MySQL từ xa. lựa chọn 1. UFW [Tường lửa không phức tạp] Tùy chọn 2. Tường lửaD. Tùy chọn 3. Mở Port 3306 bằng iptables
    Bước 3. Kết nối với máy chủ MySQL từ xa

    Tại sao tôi không thể kết nối với localhost MySQL?

    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 chính xác là sử dụng. sudo lsof -i. 3306 .

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

    Nguyên nhân gây ra lỗi 'Không thể kết nối với lỗi mysql 111' . Khi chúng tôi cố gắng truy cập máy chủ mysql trên máy Linux bằng địa chỉ IP công cộng, nó thường hiển thị lỗi 111. Tuy nhiên, khi localhost và 127. 0. 0. 1 được sử dụng, nó đang kết nối tốt. this error occurs when mysqld only listens to the localhost interface. When we try to access mysql server on Linux machine using the public IP address, it often shows error 111. However, when localhost and 127.0. 0.1 is used, it is connecting fine.
  • Chủ Đề