Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết nối mySQL từ xa ném không thể kết nối với MySQL 4.1+ bằng cách sử dụng lỗi xác thực không an toàn cũ từ XAMPP

Tôi không thực sự rõ ràng về lý do tại sao điều này lại trở thành vấn đề khi cài đặt XAMPP của tôi, vì tôi cũng đang chạy PHP 5.3.x trên hộp cục bộ của máy chủ và không gặp phải những vấn đề đó ở đó. Tuy nhiên, nó liên quan đến máy chủ mySQL của tôi đang chạy ở chế độ mã hóa "mật khẩu cũ". Các phiên bản PHP mới hơn sẽ không cho phép các loại kết nối đó, vì vậy bạn cần cập nhật máy chủ mySQL của mình để sử dụng mã hóa mật khẩu mới hơn. Dưới đây là các bước, giả sử bạn có quyền kiểm soát máy chủ mySQL. Nếu bạn không, điều đó nằm ngoài phạm vi hiểu biết của tôi.

  1. định vị tệp cấu hình cho máy chủ mysql có tên my.cnf . Tôi đã tìm thấy của tôi tại /etc/my.cnf . Bạn có thể chỉnh sửa nó bằng sudo nano /etc/my.cnf

  2. Tìm dòng có nội dung old_passwords=1 và thay đổi thành old_passwords=0 . Bây giờ bạn đã nói với máy chủ rằng trong lần chạy tiếp theo và nó được yêu cầu mã hóa mật khẩu bằng lệnh PASSWORD (), nó sử dụng mã hóa 41 ký tự mới thay vì mã hóa kiểu 'cũ' 16 ký tự

  3. Bây giờ bạn phải khởi động lại máy chủ / dịch vụ mysql của mình. YMMV, nhưng trên Fedora, điều đó được thực hiện dễ dàng với sudo service mysqld restart . Kiểm tra hướng dẫn về hệ điều hành của bạn để khởi động lại daemon hoặc dịch vụ mysql

  4. Bây giờ chúng ta phải thực sự chỉnh sửa user của mình bảng trong mysql. Vì vậy, hãy mở một trình bao tương tác cho mysql (trên máy chủ, bạn có thể nhập mysql -uYourRootUsername -pYourRootPassword )

  5. Thay đổi thành mysql cơ sở dữ liệu. Đây là cơ sở dữ liệu chứa tất cả những thứ tốt cho hoạt động và xác thực của máy chủ. Bạn phải có quyền truy cập root để làm việc với cơ sở dữ liệu này. Nếu bạn nhận được 'quyền truy cập bị từ chối', bạn là SOL. Xin lỗi. use mysql; sẽ chuyển sang cơ sở dữ liệu đó

  6. Bây giờ chúng tôi muốn cập nhật người dùng đang khiến bạn đau buồn. Cuối cùng có thể bạn sẽ muốn cập nhật tất cả người dùng của mình, nhưng hiện tại, chúng tôi chỉ tập trung vào người dùng đã gây ra lỗi. update user set Password=password('YOUR_PASSWORD') where User='YOUR_USERNAME';

  7. Bây giờ bạn chỉ cần yêu cầu mysql sử dụng mật khẩu mới để xác thực khi người dùng đó cố gắng kết nối. flush privileges; .

Bạn nên đi!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL ERROR 1005 (HY000):Không thể tạo bảng 'foo. # Sql-12c_4' (errno:150)

  2. Chọn các hàng trong đó trường trống bằng cách sử dụng các câu lệnh được chuẩn bị sẵn trong PHP PDO và MySQL

  3. Có sự khác biệt về hiệu suất THỰC giữa khóa chính INT và VARCHAR không?

  4. Ngày trong URL dd / mm / yyyy

  5. Quay lại quá trình di chuyển Rails không thành công