Hướng dẫn why is mysql showing unconnected? - tại sao mysql hiển thị không được kết nối?

Tôi đang cố gắng kết nối với cơ sở dữ liệu MySQL từ Shell MySQL trên Windows.

Bất kể tôi gõ cái gì vào vỏ mysql, nó vẫn cho tôi lỗi: 'không được kết nối'.

Truy vấn ví dụ 1:

mysql -uroot -h227.0.0.1 -P3306 -p
4

Truy vấn ví dụ 2:

mysql -uroot -h227.0.0.1 -P3306 -p
5

O/P:

mysql -uroot -h227.0.0.1 -P3306 -p
6

Tôi đã cài đặt máy chủ MySQL trên máy của mình. Ngoài ra dịch vụ MySQL đang chạy trong nền.

Ngoài ra, tôi đã có thể kết nối từ MySQL Workbench.

THÔNG BÁO LỖI

Kết nối Workbench MySQL

Khi được hỏi ngày 19 tháng 5 năm 2018 lúc 4:07May 19, 2018 at 4:07

Hướng dẫn why is mysql showing unconnected? - tại sao mysql hiển thị không được kết nối?

MadhurmadhurMadhur

6971 Huy hiệu vàng5 Huy hiệu bạc11 Huy hiệu đồng1 gold badge5 silver badges11 bronze badges

1

Cách giải quyết tạm thời của tôi là tôi sử dụng giao thức SSL để kết nối với máy chủ MySQL:

Mysql>

mysql -uroot -h227.0.0.1 -P3306 -p
7

MySQL Localhost: 33060+ SSL SQL>

mysql -uroot -h227.0.0.1 -P3306 -p
8

Đã trả lời ngày 19 tháng 5 năm 2018 lúc 6:31May 19, 2018 at 6:31

MadhurmadhurMadhur

6971 Huy hiệu vàng5 Huy hiệu bạc11 Huy hiệu đồng1 gold badge5 silver badges11 bronze badges

0

Cách giải quyết tạm thời của tôi là tôi sử dụng giao thức SSL để kết nối với máy chủ MySQL:SQL mode or JS mode.

Mysql>

mysql -uroot -h227.0.0.1 -P3306 -p
7SQL mode then you are good to go else you need to switch to SQL mode by this command

mysql -uroot -h227.0.0.1 -P3306 -p
9

MySQL Localhost: 33060+ SSL SQL>

mysql -uroot -h227.0.0.1 -P3306 -p
8connect using this command

mysql -uroot -h227.0.0.1 -P3306 -p
7

Đã trả lời ngày 19 tháng 5 năm 2018 lúc 6:31

Bước đầu tiên là bạn cần kiểm tra xem bạn đang ở chế độ MySQL Shell SQL hay JS.

Sau đó, nếu bạn đang ở chế độ SQL thì bạn rất tốt để đi khác, bạn cần chuyển sang chế độ SQL bằng lệnh này

Bước tiếp theo là kết nối bằng lệnh này

mysql -uroot -p
3

Trong trường hợp của bạn, bạn có thể đã cung cấp đặc quyền làm địa chỉ IP để bạn cần kiểm tra IP localhost của mình có thể được thực hiện bằng lệnh này trong dấu nhắc lệnh của bạn.Dec 18, 2019 at 8:17

Hướng dẫn why is mysql showing unconnected? - tại sao mysql hiển thị không được kết nối?

champion-runnerchampion-runnerchampion-runner

mysql -uroot -p
1 và sau đó chỉ cần kiểm tra địa chỉ IP và đặt nó thay cho localhost trong lệnh trước đó. Nếu điều này vẫn không hoạt động thì hãy đặt
mysql -uroot -p
2.1 gold badge12 silver badges25 bronze badges

1

Sau đó, nó sẽ nhắc thêm hoặc lưu mật khẩu, nhập mật khẩu duy nhất ở đó.

Sau đó, bạn tốt để đi và kiểm tra người dùng và localhost sau lệnh này bằng lệnh nàyMay 19, 2018 at 4:24

Hướng dẫn why is mysql showing unconnected? - tại sao mysql hiển thị không được kết nối?

2

Đã trả lời ngày 18 tháng 12 năm 2019 lúc 8:17

1.3291 Huy hiệu vàng12 Huy hiệu bạc25 Huy hiệu đồng

Thử

mysql -uroot -h227.0.0.1 -P3306 -p
5 Tôi chưa sử dụng vỏ mysql, tôi thường sử dụng gitbash và nó hoạt động tốt

finally:

mysql -uroot -p
7

Đã trả lời ngày 19 tháng 5 năm 2018 lúc 4:24Oct 15, 2019 at 9:12

Hướng dẫn why is mysql showing unconnected? - tại sao mysql hiển thị không được kết nối?

Tôi đã phải đối mặt với vấn đề tương tự trên máy Windows 10 của mình với MySQL 5.7 và các lệnh sau đã giúp tôi:enoted

mysql -uroot -p
5 - để mở vỏ mysql; sau đó7 silver badges20 bronze badges

mysql -uroot -h227.0.0.1 -P3306 -p
9 - để bắt đầu làm việc với SQL;

mysql -uroot -hlocalhost -P3306 -p

Đã trả lời ngày 15 tháng 10 năm 2019 lúc 9:12

mysql -uroot -h227.0.0.1 -P3306 -p

Đã trả lời ngày 15 tháng 10 năm 2019 lúc 9:12

mysql -uroot -p

EnotedenoteMay 19, 2018 at 4:54

2

Nếu bạn gặp sự cố khi bạn cố gắng kết nối với máy chủ MySQL, các mục sau đây mô tả một số khóa học hành động bạn có thể thực hiện để khắc phục sự cố.

  • Đả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 một 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, chẳng hạn như một trong những điều sau đây, một nguyên nhân có thể là 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ể là máy chủ đang chạy, nhưng bạn đang cố gắng kết nối bằng cổng TCP/IP, đường ống được đặt tên hoặc tệp unix khác với tệp mà máy chủ đang nghe. Để sửa điều này khi bạn gọi chương trình máy khách, chỉ định tùy chọn

    mysql -uroot -p
    
    8 để chỉ ra số cổng phù hợp hoặc tùy chọn
    mysql -uroot -p
    
    9 để chỉ ra tệp Ổ cắm unix hoặc đường ống được đặt tên phù hợp. Để tìm ra tệp ổ cắm ở đâu, 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 cấu hình để bỏ qua các kết nối mạng hoặc (nếu bạn đang cố gắng kết nối từ xa) rằng nó không được 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 bắt đầu với biến hệ thống

    $> 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)
    0 được bật, không có kết nối TCP/IP nào được chấp nhận. Nếu máy chủ được bắt đầu với biến hệ thống
    $> 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)
    1 được đặt thành
    $> 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)
    2, nó sẽ lắng nghe các kết nối TCP/IP chỉ cục bộ trên giao diện loopback và không chấp nhận kết nối từ xa.

  • Kiểm tra để đảm bảo rằng không có truy cập chặn tường lửa vào MySQL. Tường lửa của bạn có thể được cấu hình trên cơ sở ứng dụng đượ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ác bảng IP của bạn (hoặc tương tự) cấu hình để đảm bảo rằng cổng chưa bị chặn. Trong Windows, các ứng dụng như Tường lửa ZoneAlarm hoặc Windows 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 để máy chủ có thể sử dụng chúng để điều khiển truy cập. Đối với một số loại phân phối (như phân phối nhị phân trên Windows hoặc Phân phối RPM và DEB trên Linux), quy 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

    $> 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)
    3 chứa các bảng tài trợ. Đố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, xem Chương & NBSP; 3, Cài đặt và thử nghiệm sau khi cài đặt.

    Để xác định xem bạn có cần khởi tạo các bảng tài trợ hay không, hãy tìm thư mục

    $> 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)
    3 trong thư mục dữ liệu. . Nếu không, 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ố gắng đăng nhập vào máy chủ dưới dạng

    $> 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)
    9 mà không cần 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 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 & NBSP; 3.4, Bảo mật tài khoản MySQL ban đầu trên các cách khác nhau mà mật khẩu có thể được chỉ định và, trong một số trường hợp, làm thế nào để tìm thấy nó. Nếu bạn cần đặt lại mật khẩu gốc, hãy xem hướng dẫn 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 là

    $> 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)
    9 bằng tùy chọn
    $> netstat -ln | grep mysql
    1 (hoặc
    $> netstat -ln | grep mysql
    2):

    $> mysql -u root -p
    Enter password:

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

    $> 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)
    9 mà không cần sử dụng mật khẩu nếu bạn đã khởi tạo MySQL bằng cách sử dụng MYSQLD-Initialize-Informed (xem Phần & NBSP; 3.1, Khởi tạo thư mục dữ liệu để biết chi tiết). Đó là 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
    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)
    9; Xem Phần & NBSP; 3.4, Bảo mật tài khoản MySQL ban đầu để được hướng dẫn.mysqld --initialize-insecure (see Section 3.1, “Initializing the Data Directory” for details). That is a security risk, so you should set a password for the
    $> 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)
    9 account; see Section 3.4, “Securing the Initial MySQL Account” for instructions.

  • 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 đã thực hiện quy trình nâng cấp MySQL chưa? Nếu không, làm như vậy. Cấu trúc của các bảng tài trợ 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 bạn có cấu trúc hiện tại. Để được hướng dẫn, xem 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 so với máy khách có khả năng tạo:

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
  • Hãy nhớ rằng các chương trình khách hàng sử dụng các tham số kết nối được chỉ định trong các 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 bất kỳ tệp tùy chọn áp dụng nào và môi trường của bạn. Ví dụ: nếu bạn nhận được

    $> netstat -ln | grep mysql
    5 khi bạn chạy máy 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 bạn!

    Bạn có thể ngăn chặn việc sử dụng các tệp tùy chọn bằng chương trình máy khách bằng cách gọi nó với tùy chọn

    $> netstat -ln | grep mysql
    6. 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 việc sử dụng các tệp tùy chọn. Các biến môi trường được liệt kê trong các biến 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 mật khẩu

    $> 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)
    9 không chính xác:

    $> 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

    $> netstat -ln | grep mysql
    6 như được mô tả trong mục trước.

    Để biết thông tin về việc thay đổi mật khẩu, xem Phần & NBSP; 4.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

    $> 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)
    9, hãy xem cách đặt lại mật khẩu gốc.

  • $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    0 là một 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à máy khách cố gắng kết nối nếu bạn chỉ định không có máy chủ nào rõ ràng.

    Bạn có thể sử dụng tùy chọn

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    1 để đặt tên cho máy chủ máy chủ một cách rõ ràng. Đ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
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    2 sử dụng tên máy chủ thực tế 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 hàng bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 trên máy chủ máy chủ, 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ủ.mysqld server. You can also use TCP/IP by specifying a
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    2 option that uses the actual host name of the local host. In this case, the host name must be specified in a
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 table row on the server host, even though you are running the client program on the same host as the server.

  • Thông báo lỗi

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    4 cho bạn biết bạn đang cố gắng đăng nhập như ai, máy chủ khách hàng 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 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 khớp chính xác với tên máy chủ và tên người dùng được đặt 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 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    6, điều đó có nghĩa là bạn đã cố gắng đăng nhập mà không cần 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)
    4 khi cố gắng kết nối với cơ sở dữ liệu với
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    8, bạn có thể gặp sự cố với bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3. Kiểm tra điều này bằng cách thực thi
    $> mysql -u root -p
    Enter password:
    0 và phát hành câu lệnh SQL này:

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    0

    Kết quả nên bao gồm một hàng với các cột

    $> mysql -u root -p
    Enter password:
    1 và
    $> mysql -u root -p
    Enter password:
    2 phù hợ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áy chủ không phải là lỗi mà máy chủ MySQL đang chạy, điều đó có nghĩa là không có hàng trong bảng

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 với giá trị
    $> mysql -u root -p
    Enter password:
    1 phù hợp với máy chủ của máy khách:

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    1

    Bạn có thể sửa lỗi này bằng cách thiết lập một tài khoản cho sự kết hợp của tên máy chủ khách hàng 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 với

    $> mysql -u root -p
    Enter password:
    5 làm giá trị cột
    $> mysql -u root -p
    Enter password:
    1 trong bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3. Sau khi cố gắng kết nối từ máy khách, hãy sử dụng truy vấn
    $> mysql -u root -p
    Enter password:
    8 để xem bạn thực sự đã kết nối như thế nào. Sau đó, thay đổi
    $> mysql -u root -p
    Enter password:
    5 trong hàng bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 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 cho tên người dùng đã cho.

    Trên Linux, một lý do khác là lỗi này có thể xảy ra là 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 khác của thư viện

    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    1 so 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
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    1 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ó. Một RPM nguồn thường tầm thường để 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 giải quyết địa chỉ IP của máy khách một cái tên:

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    2

    Nếu bạn cố gắng kết nối là

    $> 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)
    9 và gặp lỗi sau, điều đó có nghĩa là bạn không có hàng trong bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 với giá trị cột
    $> mysql -u root -p
    Enter password:
    2 là
    $> mysql
    Client does not support authentication protocol requested
    by server; consider upgrading MySQL client
    6 và MySQLD không thể giải quyết tên máy chủ cho máy khách của bạn:mysqld cannot resolve the host name for your client:

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    3

    Những lỗi này cho thấy một vấn đề DNS. Để sửa nó, thực hiện các lưu trữ Flush của MySQLadmin để đặt lại bộ đệm máy chủ DNS bên trong. Xem Tra cứu DNS và bộ nhớ cache máy chủ.mysqladmin flush-hosts to reset the internal DNS host cache. See DNS Lookups and the Host Cache.

    Một số giải pháp vĩnh viễn là:

    • Xác định điều gì là sai với máy chủ DNS của bạn và sửa nó.

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

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

      $> mysql
      Client does not support authentication protocol requested
      by server; consider upgrading MySQL client
      7 trên Unix hoặc
      $> mysql
      Client does not support authentication protocol requested
      by server; consider upgrading MySQL client
      8 trên Windows.

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

      $> mysql
      Client does not support authentication protocol requested
      by server; consider upgrading MySQL client
      9 được bật.mysqld with the
      $> mysql
      Client does not support authentication protocol requested
      by server; consider upgrading MySQL client
      9 system variable enabled.

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

      $> mysqladmin --no-defaults -u root version
      0.mysqld with the
      $> mysqladmin --no-defaults -u root version
      0 option.

    • 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 
      ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
      0. Để kết nối với
      $> mysql -u root 
      ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
      0, 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 kết nối với máy chủ MySQL bằng các 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ợ các kết nối ống có tên, hãy kết nối với tên máy chủ

      $> mysqladmin --no-defaults -u root version
      3 (khoảng thời gian). Các kết nối với
      $> mysqladmin --no-defaults -u root version
      3 Sử dụng một đường ống được đặt tên thay vì TCP/IP.

  • Nếu

    $> mysqladmin --no-defaults -u root version
    5 hoạt động nhưng
    $> mysqladmin --no-defaults -u root version
    6 -U kết quả gốc trong
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    4 (trong đó
    $> mysqladmin --no-defaults -u root version
    8 là tên máy chủ thực tế 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 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3. Một vấn đề phổ biến ở đây là giá trị
    $> mysql -u root -p
    Enter password:
    1 trong hàng bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 chỉ định tên máy chủ không đủ tiêu chuẩn, nhưng các thói quen giải quyết tên hệ thống của bạn trả về một tên miền đủ điều kiện (hoặc ngược lại). Ví dụ: nếu bạn có một hàng với máy chủ
    $> mysqladmin -u root -pxxxx ver
    Access denied for user 'root'@'localhost' (using password: YES)
    2 trong bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3, nhưng DNS của bạn nói với MySQL rằng tên máy chủ của bạn là
    $> mysqladmin -u root -pxxxx ver
    Access denied for user 'root'@'localhost' (using password: YES)
    4, hàng không hoạt động. Hãy thử thêm một hàng vào bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 chứa địa chỉ IP của máy chủ của bạn dưới dạng giá trị cột
    $> mysql -u root -p
    Enter password:
    1. .insecure and is not recommended!)

  • Nếu

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    8 hoạt động nhưng
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    03
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    04 thì không, bạn đã không cấp quyền truy cập vào người dùng đã cho cho cơ sở dữ liệu có tên
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    04.

  • Nếu

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    8 hoạt động khi được thực thi trên máy chủ máy chủ, nhưng
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    07 -U
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    08 không hoạt động khi được thực thi trên máy chủ khách từ xa, bạn đã không 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ể tìm ra lý do tại sao bạn nhận được

    $> netstat -ln | grep mysql
    5, hãy xóa khỏi bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3, tất cả các hàng có giá trị
    $> mysql -u root -p
    Enter password:
    1 có chứa ký tự đại diện (các hàng có chứa các ký tự
    $> mysql -u root -p
    Enter password:
    5 hoặc
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    13). Một lỗi rất phổ biến là chèn một hàng mới với ____ ____ 61 = ________ 65 và ________ 62 = ________ 117 ', nghĩ rằng điều này cho phép bạn chỉ định
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    0 để kết nối từ cùng một máy. Lý do mà điều này không hoạt động là các đặc quyền mặc định bao gồm một hàng với ________ 61 = ________ 120 và ________ 62 = ________ 122. Bởi vì hàng đó có giá trị
    $> mysql -u root -p
    Enter password:
    1
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    20 cụ thể hơn
    $> mysql -u root -p
    Enter password:
    5, nó được sử dụng để ưu tiên cho hàng mới khi kết nối từ
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    0! Quy trình chính xác là chèn một hàng thứ hai với ____ ____ 61 = ________ 120 và ________ 62 = ________ 117 'hoặc xóa hàng với ________ 61 = ________ 120 và ________ 62 = ________ 122. Sau khi xóa hàng, hãy nhớ đưa ra tuyên bố
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    35 để tải lại các bảng cấp. Xem thêm Phần & NBSP; 4.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 hãy nhận thông báo

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    4 bất cứ khi nào bạn phát hành câu lệnh
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    37 hoặc
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    38, hàng của bạn trong bảng
    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    3 không có đặc quyền
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    40 được bật.

  • Nếu bạn thay đổi trực tiếp các bảng cấp (ví dụ: bằng cách sử dụng các câu lệnh

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    41,
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    42 hoặc
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    43) 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
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    44 hoặc lệnh mysqladmin Flush các bảng đặc quyền. Nếu không, các thay đổi của bạn không có hiệu lực cho đến lần tiếp theo máy chủ được khởi động lại. Hãy nhớ rằng sau khi bạn thay đổi mật khẩu
    $> 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)
    9 bằng câu lệnh
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    42, bạn không cần chỉ định mật khẩu mới cho đến khi bạn xóa các đặc quyền, vì máy chủ không biết cho đến lúc đó bạn đã thay đổi mật khẩu.mysqladmin flush-privileges command to cause the server to reload the privilege tables. Otherwise, your changes have no effect until the next time the server is restarted. Remember that after you change the
    $> 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)
    9 password with an
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    42 statement, you do not need to specify the new password until after you flush the privileges, because the server does not know until then that you have changed the password.

  • Nếu các đặc quyền của bạn dường như đã thay đổi ở giữa phiên, có thể là quản trị viên MySQL đã thay đổi chúng. Tải lại các bảng tài trợ ả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ư được chỉ ra trong Phần & NBSP; 4.13, Hồi Khi thay đổi đặ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ủ với

    $> mysql -u root 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    8
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    48 hoặc MySQL -U
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    08 -P ________ 150
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    48. Nếu bạn có thể kết nối bằng máy khách MySQL, vấn đề nằm ở chương trình của bạn, không phải với các đặc quyền truy cập. .mysql -u
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    08 -p
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    50
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    48
    . If you are able to connect using the mysql client, the problem lies with your program, not with the access privileges. (There is no space between
    $> netstat -ln | grep mysql
    2 and the password; you can also use the --password=
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    50
    syntax to specify the password. If you use the
    $> netstat -ln | grep mysql
    2 or
    $> netstat -ln | grep mysql
    1 option with no password value, MySQL prompts you for the password.)

  • Đối với mục đích thử nghiệm, hãy khởi động máy chủ MySQLD với tùy chọn

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    56. Sau đó, bạn có thể thay đổi các bảng cấp MySQL và sử dụng câu lệnh
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    57 để kiểm tra xem các sửa đổi của bạn có hiệu ứng mong muốn hay không. Khi bạn hài lòng với các thay đổi của mình, hãy thực hiện MySQLadmin Flush-Privileges để nói với 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 dừng và khởi động lại máy chủ.mysqld server with the
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    56 option. Then you can change the MySQL grant tables and use the
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    57 statement to check whether your modifications have the desired effect. When you are satisfied with your changes, execute mysqladmin flush-privileges to tell the mysqld server to reload the privileges. This enables you to begin using the new grant table contents without stopping and restarting the server.

  • Nếu mọi thứ khác không thành công, hãy khởi động máy chủ MySQLD với tùy chọn gỡ lỗi (ví dụ:

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    58). Điều này in máy chủ và thông tin người dùng về các kết nối đã cố gắng, cũng như thông tin về mỗi lệnh được phát hành. Xem gói DBUG.mysqld server with a debugging option (for example,
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    58). This prints host and user information about attempted connections, as well as information about each command issued. See The DBUG Package.

  • Nếu bạn có bất kỳ vấn đề nào khác với các bảng tài trợ MySQL và hỏi về sự chậm chạp của cộng đồng MySQL, hãy luôn cung cấp một bãi rác của các bảng tài trợ MySQL. Bạn có thể đổ các bảng bằng lệnh mysqldump mysql. Để nộp báo cáo lỗi, hãy xem hướng dẫn về 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

    mysql -uroot -h227.0.0.1 -P3306 -p
    
    56 để chạy MySQLDump.mysqldump mysql command. To file a bug report, see the instructions at How to Report Bugs or Problems. In some cases, you may need to restart mysqld with
    mysql -uroot -h227.0.0.1 -P3306 -p
    
    56 to run mysqldump.

Tại sao vỏ mysql hiển thị không được kết nối?

Thông thường có nghĩa là không có máy chủ MySQL đang chạy trên hệ thống hoặc bạn hầu như luôn sử dụng sai tên hình ảnh ổ cắm Unix hoặc số cổng TCP/IP khi cố gắng kết nối với máy chủ lưu trữ internet.

Tại sao tôi có thể kết nối với MySQL?

Nếu bạn có thể kết nối bằng MySQLClient, vấn đề nằm ở chương trình của bạn, không phải với các đặc quyền truy cập. .

Làm thế nào để sửa các kết nối Workbench MySQL không hiển thị?

Để khắc phục vấn đề này, vui lòng làm theo các bước dưới đây. Khởi chạy MySQL Workbench để mở màn hình chính. Các kết nối hiện tại được hiển thị khi bạn nhấp vào chế độ xem kết nối MySQL từ thanh bên. Không có kết nối tồn tại cho người dùng lần đầu. Nhấp vào menu máy chủ và nhấp vào tùy chọn Khởi động/Tắt máy như được hiển thị bên dưới.

Làm cách nào để kiểm tra xem các kết nối MySQL có tồn tại cho người dùng không?

Các kết nối hiện tại được hiển thị khi bạn nhấp vào chế độ xem kết nối MySQL từ thanh bên.Không có kết nối tồn tại cho người dùng lần đầu.Nhấp vào menu máy chủ và nhấp vào tùy chọn Khởi động/Tắt máy như được hiển thị bên dưới Điều này sẽ mở cửa sổ Quản trị -Startup/Shutdown.Nhấp vào Máy chủ bắt đầu Chấp nhận UAC.- Nhập mật khẩu của bạn và nhấp vào OK.

Làm cách nào để sửa chữa mysql không kết nối?

Trong trường hợp của bạn, bạn có thể đã cung cấp đặc quyền làm địa chỉ IP để bạn cần kiểm tra IP localhost của mình có thể được thực hiện bằng lệnh này trong dấu nhắc lệnh của bạn.IPConfig và sau đó chỉ cần kiểm tra địa chỉ IP và đặt nó thay cho localhost trong lệnh trước đó.Nếu điều này vẫn không hoạt động thì hãy đặt 127.0.0,1: 3306.ipconfig and then just check the IP address and put it in place of localhost in the previous command. If this still doesn't works then put 127.0. 0.1:3306 .

Làm cách nào để kết nối lại với mysql?

Để kiểm tra kết nối lại, hãy gọi mysql_thread_id () để lấy định danh kết nối ban đầu trước khi gọi mysql_ping (), sau đó gọi lại mysql_thread_id () để xem liệu định danh có thay đổi hay không.call mysql_thread_id() to get the original connection identifier before calling mysql_ping() , then call mysql_thread_id() again to see whether the identifier changed.