2013-08-08 15 views
8

khi tôi cố gắng khôi phục tất cả khối cơ sở dữ liệu trong phiên bản 5.0 đến 5.6. đã khôi phục và sau đó khi tôi cố gắng kết nối lại, đang nhận được lỗi sauMYSQL ERROR 2049 (HY000): Kết nối sử dụng giao thức xác thực cũ (trước 4.1.1) được sử dụng (tùy chọn máy khách 'secure_auth' được bật)

ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option 'secure_auth' enabled) ..

tôi đã thử thêm các dòng sau đây trong my.ini và khởi động lại dịch vụ, nhưng vấn đề này vẫn tồn tại cho đến khi.

skip-grant-tables 

Liên kết sau cho biết lỗi của nó trong MYSQL.

https://github.com/santisaez/powerstack/blob/master/packages/mysql/mysql-powerstack-secure_auth.patch

Có ai có giải pháp nào cho giải pháp này không?

+0

Vì điều này chủ yếu liên quan đến quản trị DB, bạn nên hỏi điều này trên http://dba.stackexchange.com/ –

Trả lời

25

Sử dụng workaround này cho MySQLWorkBench 6.0 tại Manage Connections server Dialog Box:

Thêm useLegacyAuth = 1 trong các tùy chọn nâng cao hộp trong hộp thoại cài đặt kết nối.

+0

Tôi đang cố kết nối thông qua trình duyệt truy vấn mysql. Tôi nên đặt cái này ở đâu? –

+1

Bạn nên đặt nó trong trường "Khác" của tab "Nâng cao" của thuộc tính kết nối. Xem ảnh chụp màn hình: http://i.imgur.com/Gxn07No.png –

+0

@LachlanArthur cảm ơn vì ảnh chụp màn hình, tôi không có đủ danh tiếng để tải lên. – rayVenues

1

Đối với MySQL Workbench 6.08 trong Quản lý máy chủ kết nối, kết nối tab, tab phụ nâng cao, bạn phải chọn hộp 'Sử dụng giao thức xác thực cũ'.

2

cố định như của MySQL Workbench 6.0.7, và đây là sự xâm nhập changelog:

Một lựa chọn mới đã được bổ sung trong các thiết lập kết nối "Advanced" tab cho vô hiệu hóa tùy chọn secure_auth (useLegacyAuth), để tùy chọn kết nối với các hệ thống cũ.

enter image description here

9

Trên dòng lệnh, sử dụng một cái gì đó như sau, nếu bạn không có sự lựa chọn ...

mysql -uTheUseerNAme -pThePassword DbName -h HostName --skip-secure-auth 

Hope this helps ai đó, vì đây là vấn đề của tôi kết nối từ một hộp Linux

+0

tính năng này không hoạt động đối với tôi. tôi đang sử dụng RHEL. – fanchyna

+0

Làm việc cho tôi với 'mysqldump' với MySQL Ver 14,14 Distrib 5.6.17, cho Win32 (x86). –

1

Tôi gặp vấn đề tương tự trong CentOS 7 với MySQL. Nếu tôi cố gắng kết nối với máy khách mysql:

ERROR 2049 (HY000): Kết nối sử dụng cũ (trước 4.1.1) giao thức xác thực từ chối (khách hàng tùy chọn 'secure_auth' kích hoạt)

Bu trong trường hợp của tôi nếu tôi chỉ định:

--skip-an toàn-auth

nó gây ra thông báo lỗi:

LỖI 1275 (HY000): Máy chủ đang chạy ở chế độ --secure-auth, nhưng 'root' @ 'localhost' có mật khẩu ở định dạng cũ; hãy thay đổi mật khẩu sang định dạng mới

Nó chỉ làm việc khi tôi ghi rõ:

trong /etc/my.cnf

[mysqld] 
... 
secure_auth=false 

và sau đó khởi động lại mysqld

+0

Với MySQL 5.6.17 được bao gồm trong WAMP 2.5, tôi có cấu hình để sử dụng cả hai '--skip-secure-auth' và' secure_auth = false' để làm việc. Cảm ơn btw. – zionyx

0

Sử dụng cách như rayVenues nhưng bạn nên thay đổi kết nối mật khẩu của bạn, nó sẽ hoạt động tốt :)

0

Tôi có vấn đề tương tự, nhưng sử dụng MAC Terminal kết nối từ xa MySQL db.

Giải pháp: Tôi tạo người dùng mới có ít ký tự đặc biệt hơn, sự cố đó đã biến mất.