Server mysql berjalan dengan tabel hibah lewati

Hari ini, kita akan belajar MySQL lewati tabel hibah, tabel hibah, dan cara menggunakan --skip-grant-tables di MySQL ketika kita mengunci pengguna root, lupa kata sandinya, atau ingin mengembalikan hak penuh

Hibah Tabel di Database Sistem MySQL

Tabel hibah di Database Sistem MySQL memiliki informasi berikut

  • user (hak istimewa global, akun pengguna, & bidang/kolom non-istimewa lainnya)
  • db (hak istimewa pada tingkat basis data)
  • tables_priv_ (hak istimewa di tingkat meja)
  • columns_priv_ (hak istimewa di tingkat kolom)
  • procs_priv (hak istimewa pada fungsi & prosedur tersimpan)
  • proxies_priv (hak istimewa pada pengguna proxy)

Setiap terdiri dari kolom ruang lingkup dan hak istimewa. Kolom ruang lingkup mengidentifikasi ruang lingkup setiap baris dalam sebuah tabel

Kolom hak istimewa mewakili hak istimewa yang diberikan oleh baris tabel atau jenis operasi yang dapat dilakukannya

Opsi --skip-grant-tables_ di MySQL

Pada MySQL 8. 0. 3, --skip-grant-tables diaktifkan

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
1, yang secara otomatis tidak mengizinkan koneksi jarak jauh. Misalnya, pernyataan SQL tentang manajemen akun,
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
2, dinonaktifkan saat --skip-grant-tables aktif

Kita dapat menggunakan --skip-grant-tables_ dalam situasi berikut

  1. Kami tidak sengaja mengunci pengguna
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    
    5
  2. Kami lupa kata sandi
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    
    5
  3. Kami kehilangan semua hak istimewa dari
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    
    5 pengguna

Mari mulai belajar tentang solusi untuk setiap situasi yang disebutkan di atas

Penggunaan --skip-grant-tables Saat Pengguna mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; 5 Dikunci

  • mysql skip grant tables - stop mysql server

  • mysql skip grant tables - update mysql ini file
    File --skip-grant-tables_0 berada di --skip-grant-tables1 jika Anda telah menginstal MySQL di lokasi default

Gunakan --skip-grant-tables untuk Mengembalikan Hak Istimewa Penuh untuk Pengguna MySQL mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; 5

Kami dapat memulihkan hak penuh untuk pengguna MySQL

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
5 dengan menggunakan perintah --skip-grant-tables5

  • Pertama, kita harus menghentikan --skip-grant-tables6
  • Selanjutnya, mulai ulang dengan opsi --skip-grant-tables_7 untuk menonaktifkan kredensial masuk untuk akun
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    
    5
  • Selanjutnya, sambungkan lagi ke server --skip-grant-tables_6 hanya dengan user0. Di sini kami tidak menggunakan opsi user_1 untuk kata sandi dan tidak boleh memasukkan nama pengguna juga
  • Gunakan perintah berikut di klien user_0 untuk mendapatkan semua hak istimewa untuk pengguna
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    
    5 di MySQL

    mysql> UPDATE mysql.user SET Grant_priv = 'Y', Super_priv = 'Y' WHERE User = 'root';
    

    Kami telah menetapkan hak super menggunakan user4

  • Sekarang, kita harus menghapus hak istimewa dengan menggunakan perintah user5 sebagai berikut

    Ingat, ketika --skip-grant-tables_7 aktif, MySQL tidak memeriksa tabel hibah berdasarkan kueri dan koneksi, yang berarti siapa pun dapat dengan cepat login dari jarak jauh dan memanipulasi database

Penggunaan --skip-grant-tables untuk Reset mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; 5 Kata Sandi di MySQL

Di sini kita dapat menggunakan klien user_0 untuk mengatur ulang kata sandi

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
5, tetapi ini adalah pendekatan yang kurang aman. Untuk melanjutkan dengan metode ini, ikuti langkah-langkah yang diberikan di bawah ini

Dalam metode ini, Anda menghentikan server dan memulainya dengan menentukan --skip-grant-tables, yang tidak akan memuat tabel hibah. Anda dapat terhubung ke server sebagai root tanpa kata sandi dan mengatur kata sandi. Karena server berjalan tanpa hibah, pengguna dari jaringan lain dapat terhubung ke server. Jadi pada MySQL 8. 0. 3, --skip-grant-tables otomatis mengaktifkan --skip-networking, yang tidak mengizinkan koneksi jarak jauh

shell> sudo systemctl stop mysqldshell> ps aux | grep mysqld | grep -v grep
  1. Mulai server dengan opsi --skip-grant-tables
shell> sudo -u mysql /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid --user=mysql --skip-grant-tablesmysqld will log errors ...

Apa yang dijalankan oleh server MySQL dengan

Opsi MySQL --skip-grant-tables digunakan untuk memulai server MySQL tanpa memuat tabel hibah . Opsi ini umumnya digunakan untuk terhubung ke server database ketika Anda lupa kata sandi pengguna root. Pernyataan SQL yang terkait dengan manajemen akun dinonaktifkan saat opsi --skip-grant-tables aktif.

Apa yang dimaksud dengan melewatkan tabel hibah?

Menggunakan --skip-grant-tables . Anda dapat terhubung ke server sebagai root tanpa kata sandi dan mengatur kata sandi. stop the server and start it by specifying --skip-grant-tables , which will not load the grant tables. You can connect to the server as root without a password and set the password.

Bagaimana cara memulai MySQL dengan opsi lewati tabel GRANT?

Metode termudah adalah memodifikasi sementara /etc/init. d/mysql untuk menyertakan opsi --skip-grant-tables lalu mulai dengan skrip ini (/etc/init. d/mysql mulai) .

Bagaimana cara memulai MySQL dengan Lewati tabel hibah di Windows?

BAHAYA. OPERASI BERISIKO .
Mulai sesi ssh (gunakan root jika memungkinkan)
Edit saya. menggunakan file .cnf. sudo vi /etc/my. cnf
Tambahkan baris ke blok mysqld. * lewati-hibah-tabel
Simpan dan keluar
Mulai ulang layanan MySQL. layanan mysql restart
Periksa status layanan. layanan status mysql
Hubungkan ke mysql. mysql
Menggunakan database utama. gunakan mysql;