GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Cara Masuk Sebagai Root Di Mysql?

Saya telah menginstal MySQL dan selama instalasi saya dimintai kata sandi yang saya masukkan, tetapi sekarang guru saya mengatakan bahwa kita harus dapat masuk sebagai root tanpa kata sandi apa pun.

Ini berfungsi tetapi saya tidak mendapatkan hak istimewa apa pun:

Ini tidak berhasil:

Ini juga tidak

Jawaban yang Diterima:

Penyebab masalah

Konfigurasi default untuk login sebagai root pengguna di MySQL 5.7 memerlukan penggunaan soket otentikasi. Ini dapat diverifikasi melalui kueri user tabel:

mysql> select user,authentication_string,plugin from user where user='root';
+------+-----------------------+-------------+
| user | authentication_string | plugin      |
+------+-----------------------+-------------+
| root |                       | auth_socket |
+------+-----------------------+-------------+
1 row in set (0.00 sec)

Dari dokumentasi:

Plugin socket memeriksa apakah nama pengguna socket (nama pengguna sistem
operasi) cocok dengan nama pengguna MySQL yang ditentukan oleh program
klien ke server. Jika nama tidak cocok, plugin akan memeriksa
apakah nama pengguna soket cocok dengan nama yang ditentukan di kolom
authentication_string dari baris tabel sistem mysql.user. Jika ditemukan
kecocokan, plugin mengizinkan koneksi.

Dengan kata lain, mysql secara default tidak memiliki kata sandi root yang ditetapkan – Anda harus menjalankan phpMyAdmin sebagai root atau melalui sudo (keduanya adalah ide yang buruk untuk alasan keamanan), atau Anda mengubah metode otentikasi dan mengatur ulang kata sandi root seperti yang ditunjukkan dalam tutorial Digital Ocean.

Perhatikan bahwa selain nama yang sama, pengguna MySQL dan pengguna sistem tidak sama. Anda dapat memiliki pengguna MySQL jdoe dan tidak memiliki pengguna seperti itu di sistem host. Jadi, root adalah pengguna root MySQL, bukan pengguna sistem.

Langkah-langkah untuk mengubah plugin dan kata sandi:

  1. buka terminal dan jalankan sudo mysql -u root . Anda akan melihat pesan ucapan dan mysql> mengingatkan. Ini adalah shell MySQL, yang berbeda dari shell baris perintah Anda, jadi hanya pernyataan SQL yang diterima di sini.

  2. Masukkan urutan kueri SQL berikut:

    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql>  UPDATE user SET plugin='mysql_native_password',authentication_string=PASSWORD('newpassword') WHERE user = 'root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1
    
  3. Keluar dan coba masuk:

    mysql> exit
    Bye
    
    $ sudo systemctl restart mysql
    $ sudo mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5
    Server version: 5.7.21-1 (Debian)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    

Jika semuanya berjalan dengan baik, Anda seharusnya dapat masuk dari phpMyAdmin melalui kata sandi baru. Jika terjadi kesalahan, coba restart server tanpa pemeriksaan izin (itulah langkah nomor 3 dalam tutorial Digital Ocean). Untuk masalah lain, jangan ragu untuk mengajukan pertanyaan lain di sini atau di Administrator Basis Data – Stack Exchange

Terkait:Buat file LOG saat membuat beberapa file DATA untuk tempdb?
Ubuntu
  1. Cara mereset kata sandi root MySql

  2. Cara Instal MySQL di AlmaLinux 8

  3. Cara Reset Kata Sandi Root Server MySQL

  1. Cara mereset kata sandi root MySql

  2. Cara Menginstal MySQL di Ubuntu 18.04 LTS

  3. Cara Mengatur Ulang Kata Sandi Root MySQL

  1. Cara Mendaftar Semua Pengguna di Database MySQL

  2. Cara Menghapus atau Menghapus Akun Pengguna MySQL

  3. Cara Mengatur Ulang Kata Sandi Root MySQL Atau MariaDB