Không thể kết nối với máy chủ cơ sở dữ liệu (bàn làm việc mysql)


87

Bạn có thể giúp tôi giải quyết vấn đề này?

Khi tôi cố gắng nhấp vào "cơ sở dữ liệu truy vấn" dưới menu cơ sở dữ liệu trong Mysql workbench. nó cho tôi một lỗi:

Cannot Connect to Database Server

Your connection attempt failed for user 'root' from your host to server at 
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)

Please:

 1. Check that mysql is running on server 127.0.0.1
 2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can 
    be changed)
 3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights 
    define what clients can connect to the server and from which machines) 
 4. Make sure you are both providing a password if needed and using the correct 
    password for 127.0.0.1 connecting from the host address you're connecting from


3
Câu trả lời này đã làm việc cho tôi. stackoverflow.com/questions/16129399/…
mcaleaa

Trong trường hợp của tôi, trợ giúp khởi động lại đơn giản - nhưng trước tiên tôi kiểm tra đề xuất @sergio - stackoverflow.com/a/7875732/6705161 .
dannydedog

Câu trả lời:


105

Sự cố có thể do xác thực ổ cắm được bật cho người dùng root theo mặc định khi không có mật khẩu nào được đặt trong quá trình nâng cấp lên ubuntu 16.04.

Giải pháp là quay trở lại xác thực mật khẩu gốc. Bạn có thể thực hiện việc này bằng cách đăng nhập vào MySQL bằng cách sử dụng xác thực socket bằng cách thực hiện:

sudo mysql -u root

Sau khi đăng nhập:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

sẽ hoàn nguyên về xác thực mật khẩu gốc (mặc định cũ).

Bây giờ hãy sử dụng mật khẩu làm mật khẩu bất cứ khi nào MySQL yêu cầu.


3
Nó hoạt động với tôi, tôi rất ngạc nhiên, tôi đã định cấu hình mật khẩu nghiêm ngặt trong khi cài đặt mysql và cùng một mật khẩu nghiêm ngặt được sử dụng với truy vấn thay đổi nhất định. Tôi curios để biết tại sao nó didnt làm việc trong nỗ lực đầu tiên bản thân
Vipul Patil

Cảm ơn rất nhiều! Có phải hành vi này chỉ được tạo ra vì lợi ích của người dùng gốc unix thực hiện đăng nhập vào mysql mà không nhập mật khẩu không?
Igor de Lorenzi

1
Giải pháp tuyệt vời. Cảm ơn nhé người anh em!
Valney Faria

56

Hãy thử mở services.msctừ hộp tìm kiếm menu bắt đầu và thử khởi động dịch vụ MySQL theo cách thủ công hoặc ghi trực tiếp services.msc vào Runhộp


1
Không làm việc cho tôi. chạy trực tiếp từ dòng lệnh ´C: \ Program Files \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe --console´ (lưu ý rằng "d" giữa "mysql" và ".exe" đã hoạt động (khi mở dòng lệnh "với tư cách là quản trị viên"). Vì vậy, tôi cho rằng tìm cách khởi động dịch vụ "với tư cách là quản trị viên" sẽ giải quyết được vấn đề này.
Adrien Be

5
Hộp tìm kiếm menu bắt đầu ở đâu?
Mọi

Giải pháp của tôi được chạy Mysql-Workbench với sudo: sudo mysql-workbench . Không biết nơi để tìm services.msc
Luigi Lopez

33

Có vẻ như có rất nhiều nguyên nhân gây ra lỗi này.

Nguyên nhân / Giải pháp của tôi

Trong trường hợp của tôi, nguyên nhân là do máy chủ của tôi được định cấu hình để chỉ chấp nhận các kết nối từ localhost. Tôi đã khắc phục sự cố bằng cách làm theo bài viết này: Làm cách nào để kích hoạt quyền truy cập từ xa vào máy chủ cơ sở dữ liệu MySQL? . my.cnfTệp của tôi không có skip-networkingdòng, vì vậy tôi chỉ thay đổi dòng

bind-address = 127.0.0.1

đến

bind-address = 0.0.0.0

Điều này cho phép kết nối từ bất kỳ IP nào, không chỉ 127.0.0.1.

Sau đó, tôi đã tạo một người dùng MySql có thể kết nối từ máy khách của tôi bằng cách chạy các lệnh đầu cuối sau:

# mysql -u root -p
mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password';
    -> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION;
    -> \q

nơi 1.2.3.4là IP của khách hàng mà bạn đang cố gắng để kết nối từ. Nếu bạn thực sự gặp sự cố, bạn có thể sử dụng '%'thay vì '1.2.3.4'cho phép người dùng kết nối từ bất kỳ IP nào.

Các nguyên nhân khác

Để có một danh sách khá phong phú, hãy xem Nguyên nhân của Lỗi bị Từ chối Truy cập .


AFAIK, việc tạo người dùng là cần thiết vì người dùng root chỉ nên được sử dụng cho công việc quản trị và hợp lý nên được giới hạn ở localhost. người dùng nào bạn tạo ngoài điều đó là tùy thuộc vào bạn!
user3791372

Liên kết đến Nguyên nhân của Lỗi bị Từ chối Truy cập hiện đã bị hỏng.
Matt Coubrough

20

Bạn đã cố gắng xác định xem đây là sự cố với Workbench hay sự cố kết nối chung? Thử đi:

  1. Mở một thiết bị đầu cuối
  2. Kiểu mysql -u root -p -h 127.0.0.1 -P 3306
  3. Nếu bạn có thể kết nối thành công, bạn sẽ thấy lời nhắc mysql sau khi bạn nhập mật khẩu của mình (nhập quitvà Enter ở đó để thoát).

Báo cáo lại cách thức hoạt động.


Xin chào, Nó cho biết "mysql không được công nhận là lệnh nội bộ hoặc lệnh bên ngoài, chương trình có thể hoạt động hoặc tệp hàng loạt." Cảm ơn bạn rất nhiều.
user948950,

1
Bạn có thể muốn thêm thư mục bin mysql ( binthư mục trong thư mục MySQL chính) vào đường dẫn hệ thống . Sau đó, chương trình máy khách mysql sẽ có sẵn từ bất kỳ đâu. Hoặc bạn chỉ có thể chạy lệnh đó sau khi cd-ing vào thư mục bin MySQL. Cả hai đều nên hoạt động.
Sergio

2
Khi tôi kết nối với mysql bằng lệnh này $> mysql -u root -p -h 127.0.0.1 -P 3306 Nhập mật khẩu: ERROR 1045 (28000): Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu: NO) [root @ localhost ~] # mysql -u root -p -h 127.0.0.1 -P 3306 Nhập mật khẩu: ERROR 1045 (28000): Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu: CÓ) [root @ localhost ~] # mysql -u admin -p -h 127.0.0.1 -P 3306 Nhập mật khẩu: ERROR 1045 (28000): Quyền truy cập bị từ chối đối với người dùng 'admin' @ 'localhost' (sử dụng mật khẩu: CÓ) [root @ localhost ~] #
Sumit Munot

15

Tôi đã gặp sự cố tương tự trên Mac OS và tôi có thể khắc phục nó theo cách này:

Từ thiết bị đầu cuối, chạy:

mysql -u root -p -h 127.0.0.1 -P 3306

Sau đó, tôi được yêu cầu nhập mật khẩu. Tôi vừa nhấn enter vì không có mật khẩu nào được thiết lập.

Tôi nhận được một tin nhắn như sau:

Chào mừng bạn đến với màn hình MySQL. Các lệnh kết thúc bằng; hoặc \ g. Id kết nối MySQL của bạn là 181. Phiên bản máy chủ: 8.0.11 Homebrew.

Nếu bạn đăng nhập thành công vào mysql>, hãy chạy lệnh sau:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Bạn sẽ nhận được một thông báo như thế này:

Truy vấn OK, 0 hàng bị ảnh hưởng (0,19 giây)

Bây giờ, mật khẩu của bạn là " password " và tên người dùng của bạn là " root ".

Chúc bạn viết mã vui vẻ :)


Điều này có thể sẽ không còn hoạt động với các cài đặt mới hơn vì đăng nhập ẩn danh bị tắt.
en_lorithai


7

Tôi phải bắt đầu Workbench với tư cách là Quản trị viên. Rõ ràng nó không có các quyền cần thiết để kết nối với quy trình máy chủ cơ sở dữ liệu localhost của tôi.

Nhấp chuột phải vào lối tắt Workbench và chọn Run as Administrator. Trong cửa sổ Thuộc tính của lối tắt, bạn có thể nhấp vào "Nâng cao" và đánh dấu vào hộp bên cạnh "Chạy với tư cách Quản trị viên" để luôn chạy Bàn làm việc với đặc quyền Quản trị viên.


5

Lỗi xảy ra do máy chủ mysql không khởi động trên máy tính của bạn. Bạn nên bắt đầu nó theo cách thủ công. Thực hiện các bước sau:

  1. Tải xuống và cài đặt máy chủ wamp theo phiên bản bit của bạn (32bit hoặc 64bit) trong máy tính của bạn ( http://wampserver-64bit.en.softonic.com/ ) liên kết này cho phép bạn tải xuống máy chủ wamp cho 64bit.

  2. Ngay sau khi bạn cài đặt nó, bạn có thể nhấp đúp và chạy nó .. (bạn có thể thấy một biểu tượng ở bên phải của thanh tác vụ. Nó có thể bị ẩn. Vì vậy, bạn có thể nhấp vào mũi tên để hiển thị cho bạn ẩn ứng dụng đang chạy). nhấp vào biểu tượng và truy cập Mysql

  3. Sau đó, vào Dịch vụ và ở đó bạn có thể tìm thấy Dịch vụ Bắt đầu / Tiếp tục, nhấp vào đó ..

  4. Và bây giờ nó đã được thực hiện. Mở bàn làm việc mysql và xem, nó sẽ hoạt động ..


4

Tôi đã vật lộn với vấn đề này trong một thời gian và đã thực hiện một số cài đặt lại MySQL trước khi phát hiện ra điều này.

Tôi biết rằng máy chủ MySQL đang chạy OK vì tôi có thể truy cập tất cả DB của mình bằng dòng lệnh.

Hy vọng điều này làm việc cho bạn.

Trong MySQL Workbench (5.2.47 CE)

nhấp vào Phiên bản máy chủ Mange (góc dưới cùng bên phải)

nhấp vào Kết nối

trong hộp Kết nối , chọn:

Phiên bản cục bộ ($ ServerName) - root@127.0.0.1: 3306 '<' Tiêu chuẩn (TCP / IP)>

nhấp vào Chỉnh sửa Đã chọn ...

trong Tham số, Tên máy chủ lưu trữ thay đổi localhost hoặc 127.0.0.1 thành tên NetBIOS của bạn

bấm Kiểm tra kết nối

Nếu điều này làm việc cho bạn, tuyệt vời. Nếu không thay đổi tên máy chủ trở lại như cũ.


1
tên NetBIOS là gì?
Người dùngYmY

2
Điều này đã làm việc cho tôi. Tên NetBIOS là tên máy tính, bạn có thể đọc nó từ thuộc tính hệ thống, tab 'Tên máy tính', 'tên máy tính đầy đủ'.
NeonMan

3

Đối với những người bỏ qua rằng thông báo lỗi ban đầu hiển thị như sau:

Tên org.freedesktop.secrets không được cung cấp bởi bất kỳ tệp .service nào

Đảm bảo cài đặt gnome-keyring bằng cách sau

sudo apt install gnome-keyring

2

Cho tôi lý do là tôi đã cố gắng sử dụng MySQL Workbench 8.x mới nhất để kết nối với MySQL Server 5.1 (cả hai đều chạy trên Windows Server 2012).

Khi tôi gỡ cài đặt MySQL Workbench 8.x và cài đặt MySQL Workbench 6.3.10, nó đã kết nối thành công với localhostcơ sở dữ liệu


1

Để được cập nhật cho các phiên bản cao hơn và khách truy cập sau này:

Hiện tại tôi đang làm việc trên win7 64bit có các công cụ khác nhau trên đó bao gồm python 2.7.4 làm điều kiện tiên quyết cho google android ...

Khi tôi nâng cấp từ WB 6.0.8-win32 lên các phiên bản cao hơn để có hiệu suất 64bit, tôi đã gặp một số vấn đề, ví dụ như trên 6.3.5-winx64, tôi đã gặp lỗi trong chế độ xem chi tiết của bảng (chế độ xem bị rối loạn) khiến tôi phải hạ cấp xuống 6.2. 5-winx64.

Với tư cách là người dùng GUI, kỹ thuật chuyển tiếp / lùi dễ dàng và các mục tương đối của máy chủ db hoạt động tốt nhưng khi chúng tôi cố gắng, Database>Connect to Databasechúng tôi sẽ gặp Not connectedvà sẽ gặp lỗi python nếu chúng tôi cố gắng thực hiện một truy vấn tuy nhiên dịch vụ máy chủ DB hoàn toàn chạy và đang hoạt động tốt và vấn đề này không phải từ máy chủ mà là từ bàn làm việc. Để giải quyết nó, chúng ta phải sử dụng Query>Reconnect to Serverđể chọn kết nối DB một cách rõ ràng và sau đó hầu hết mọi thứ đều ổn (điều này có thể do nhiều kết nối db của tôi và tôi không thể tìm thấy một số giải pháp để xác định kết nối db mặc định trong bàn làm việc).

Lưu ý: vì tôi đang sử dụng phiên bản Xampp mới nhất (ngay cả trong linux thêm :))), gần đây Xampp sử dụng mariadb 10 thay vì mysql 5.x khiến phiên bản tệp mysql là 10 có thể gây ra một số vấn đề như kỹ thuật chuyển tiếp các thủ tục có thể được giải quyết thông qua mysql_upgrade.exenhưng vẫn còn khi chúng tôi cố gắng kiểm tra kết nối db, wb sẽ thông báo về phiên bản sai tuy nhiên nó không phải là nghiêm trọng và hoạt động tốt.

Kết luận: Vì vậy, đôi khi các vấn đề kết nối db trong bàn làm việc có thể là do chính nó chứ không phải do máy chủ (nếu bạn không gặp vấn đề liên quan đến kết nối db khác).


1

Trong trường hợp của tôi, tôi vừa cài đặt MySQL Workbench nhưng sau khi gỡ cài đặt MySQL Workbench và cài đặt trình cài đặt MySQL và giống nhau cho cả 32 và 64 bit thì sau khi nó hoạt động như một sự quyến rũ. Hy vọng nó có thể hữu ích.


0

Tôi cũng đấu tranh với vấn đề này trong một thời gian khá dài.

Tôi đến với chủ đề thú vị này từ diễn đàn MySQL: http://forums.mysql.com/read.php?11,11388,11388#msg-11388

Tôi cũng đã đi qua (rõ ràng) một số SO Q / A tốt.

Có vẻ như thông báo được đề cập trong câu hỏi của "user948950" có thể đến từ nhiều lý do: tệp nhật ký quá lớn, giá trị tệp mysql.ini không chính xác, khoảng trắng trong đường dẫn tệp, sự cố bảo mật / acl, các mục cũ trong đăng ký, và như vậy.

Vì vậy, sau khi cố gắng trong 3 giờ để sửa lỗi này ... tôi đã từ bỏ và quyết định thực hiện cài đặt lại cũ.

Đây là nơi mà bài đăng này từ (một lần nữa) luồng MySQL này hữu ích , tôi trích dẫn:

Gary Williams đã viết: Xin chào các bạn,

Tôi đã gặp chính xác vấn đề tương tự và đây là cách tôi làm cho nó hoạt động cho tôi, bắt đầu với một cài đặt không hoạt động.

  1. Dừng dịch vụ windows cho bất kỳ cài đặt mysql hiện có nào.

  2. Gỡ cài đặt Mysql.

Như với hầu hết các lần gỡ cài đặt, các tệp cũ bị bỏ lại. Nếu thư mục của bạn là C: \ mysql \ etc thì hãy xóa các tệp innob, v.v., nhưng để lại chính các thư mục cũng như bất kỳ cơ sở dữ liệu hiện có nào trong 'data'. Nếu thư mục của bạn là C: \ Program Files \ etc, hãy xóa tất cả các thư mục mysql.

  1. Bây giờ bạn nên chạy regedit để đảm bảo rằng các mục đăng ký cũ cũng bị xóa bằng cách gỡ cài đặt. Nếu không, hãy xóa chúng.

  2. Tuy nhiên, bạn có thể sử dụng trình cài đặt .msi mới (chỉ những tệp cần thiết).

  3. Không sử dụng đường dẫn cài đặt mặc định của họ! Một thiên tài nào đó đã thiết lập một con đường với khoảng trống trong đó! Chọn cài đặt tùy chỉnh và chọn một đường dẫn hợp lý, tức là C: \ mysql (lưu ý từ Adrien: C: \ mysqldata cho ... dữ liệu)

  4. Không chọn thay đổi cài đặt bảo mật. Bỏ chọn hộp có liên quan và quá trình cài đặt sẽ hoàn tất mà không cần phải đặt mật khẩu gốc.

Tôi nghĩ rằng tôi đã nhớ tất cả mọi thứ.

Chúc may mắn

Gary

Tôi đã gặp rắc rối khi chỉ cần sao chép / dán các cơ sở dữ liệu mà tôi có trong thư mục "dữ liệu" trước đây của mình vào thư mục mới. Vì vậy, công việc xung quanh tôi tìm thấy là xuất từng cơ sở dữ liệu (tôi biết ... rất thú vị) và sau đó nhập lại chúng từng cái một.

FYI: Tôi đã sử dụng lệnh sau để nhập C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql", ví dụ:C:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"


0

Trước đây, tôi đã gặp phải những tình huống tương tự và lần cuối cùng tôi thấy đó là một số vấn đề về cập nhật Windows (không chắc chắn). Lần này, tôi đã mở MySQL workbench và không tìm thấy kết nối nào với cơ sở dữ liệu cục bộ của mình. Tôi không thể xem các bảng của mình, nhưng hôm qua tôi có thể kết nối với cơ sở dữ liệu.

Tôi phát hiện ra rằng nguyên nhân của tôi là sau khi để máy tính ở chế độ ngủ một thời gian và đánh thức nó lại, dịch vụ mysql không chạy. Giải pháp của tôi: khởi động lại dịch vụ có tên "mysql" và chạy lại bàn làm việc. Khởi động lại dịch vụ mất một lúc, nhưng nó hoạt động.


0

Vấn đề của tôi là máy chủ MySQL chưa thực sự được cài đặt. Tôi đã chạy Trình cài đặt MySQL, nhưng nó không cài đặt máy chủ MySQL.

Tôi thay đổi trình cài đặt, nhấp vào "Thêm", rồi thêm máy chủ MySQL vào danh sách. Bây giờ nó hoạt động tốt.


0

Vấn đề là máy chủ MYSQL không được cài đặt. Bạn có thể tải trình cài đặt từ đây

Sau đó xem hướng dẫn cài đặt 6 phút này .

Nếu sau đó tạo một kết nối mới trong MYSQL Workbench không hoạt động, hãy đảm bảo rằng bạn chạy kết nối đó dưới dạng root như hiển thị bên dưới:

nhập mô tả hình ảnh ở đây

Nếu bạn không tìm thấy tệp .ini của mình, hãy kiểm tra câu trả lời này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.