Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana saya bisa mengatur ulang perilaku pengguna 'root' default di MySQL 5.7

Masalah:

auth_socket modul perlu diinstal dan diaktifkan secara manual di root pengguna jika Anda menulis lebih dari 5.7 perubahan dengan mengimpor MySQL 5.5 lama Anda database dan tabel pengguna.

Solusi:

Untuk pengguna kami ingin tetap menggunakan mysql_native_password , defaultnya. Untuk root , kami ingin menggunakan 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;

Jika Anda melakukannya dengan urutan yang salah (tambahkan root auth_socket kolom sebelum menginstal plugin), maka Anda tidak akan dapat memuat mysql karena plugin tidak akan melakukan otentikasi. Untuk memulai dan menjalankan mysql dalam mode aman gunakan ini:

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

Perbaikan ini dilakukan saat mengimpor database lengkap dan tabel pengguna dari MySQL 5.5 ke MySQL 5.7 , bermigrasi dari Ubuntu 14.04 ke Ubuntu 16.04 .

Alat:

Lihat Plugin:show plugins \g

Tampilkan auth_socket pada pengguna 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. Dapatkan nama database mysql yang terhubung (JDBC)

  2. mengubah format tanggal MySql

  3. MySQL jumlah jam rata-rata antara tanggal yang dibuat untuk interval waktu tertentu

  4. Streaming file biner dari MySQL untuk diunduh dengan PHP

  5. Bisakah saya menggunakan lapisan basis data Laravel secara mandiri?