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

Làm cách nào để đặt lại hành vi người dùng 'root' mặc định trên MySQL 5.7

Vấn đề:

auth_socket mô-đun cần được cài đặt và kích hoạt theo cách thủ công trên root người dùng nếu bạn viết trên 5.7 thay đổi bằng cách nhập MySQL 5.5 cũ của bạn cơ sở dữ liệu và bảng người dùng.

Giải pháp:

Đối với người dùng, chúng tôi muốn vẫn sử dụng mysql_native_password , mặc định. Đối với root , chúng tôi muốn sử dụng auth_socket .

install plugin auth_socket soname 'auth_socket.so';
use mysql; update user set plugin='mysql_native_password';
update mysql.user set plugin = 'auth_socket' where User='root';
flush privileges;

Nếu bạn làm sai thứ tự (thêm root của auth_socket trước khi cài đặt plugin), thì bạn sẽ không thể tải mysql vì plugin sẽ không thực hiện xác thực. Để bắt đầu và chạy mysql ở chế độ an toàn, hãy sử dụng cái này:

sudo service mysql stop
sudo mysqld_safe --skip-grant-table &
sudo mysql -u root -p -h localhost

Các bản sửa lỗi này được thực hiện khi nhập toàn bộ cơ sở dữ liệu và bảng người dùng từ MySQL 5.5 sang MySQL 5.7 , di chuyển từ Ubuntu 14.04 sang Ubuntu 16.04 .

Công cụ:

Xem Phần bổ sung:show plugins \g

Hiển thị auth_socket trên người dùng root:select auth_socket from mysql.user where user='root';




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu trữ an toàn người dùng Android Firebase Auth trong cơ sở dữ liệu MySQL

  2. Tại sao Magento không thể cứu khách hàng sau khi tạo ID?

  3. Làm thế nào để gọi thủ tục lưu trữ MySQL từ Rails?

  4. Hàm MySQL COS () - Trả về Cosine của một số trong MySQL

  5. Làm cách nào để lưu trữ ngày UTC ISO8601 trong cơ sở dữ liệu MySQL?