Bagi kita semua yang belajar menggunakan atau mengembangkan dengan MySQL atau MariaDB, merupakan tugas umum untuk masuk ke database secara manual untuk diperiksa. Hal ini biasanya dilakukan dengan klien baris perintah Show
(Ini mungkin bekerja pada BSD dan macOS juga, tapi saya belum mengujinya. ) Metode 1. Gunakan [client] user=ibug password=some_password _1Secara default, pengguna root lokal dapat masuk ke MySQL atau MariaDB tanpa kata sandi, jadi Anda cukup menggunakan 2 alih-alih mysql , dan berharap semuanya berfungsi. Tentu saja, ini tergantung pada _1 Anda untuk tidak meminta kata sandi, atau Anda masih harus memasukkannya untuk hak akses rootAnda dapat melangkah lebih jauh dengan menambahkan 5 ke 6 Anda atau shell apa pun yang Anda gunakan, tetapi ini masih sedikit meretas, dan IMO lebih merupakan solusi daripada solusi, jadi baca terus sebelum melanjutkanMetode 2. Gunakan kata sandi dan ingat di suatu tempatOpsi kedua adalah menggunakan kata sandi, dan membiarkannya "disediakan secara otomatis" dengan cara lain Pertama, buat pengguna database untuk Anda sendiri. Jangan lupa ganti _7 dengan nama pengguna Anda _Sekarang Anda dapat masuk ke MySQL atau MariaDB menggunakan 8Anda mungkin didesak untuk menambahkan itu sebagai alias di 6 Anda, tapi tunggu lagi, itu cara yang salah untuk melakukannya. Jika _6 Anda dapat dibaca oleh orang lain, Anda berisiko membuka kata sandi Anda. Selain itu, jika Anda ingin masuk sebagai pengguna lain beberapa waktu kemudian, Anda dapat mengacaukan semuanya karena perluasan aliasCara yang benar untuk menyimpan kata sandi untuk Anda sendiri adalah dengan menuliskannya di file bernama 1 di bawah direktori home Anda. Kontennya akan terlihat seperti ini
Ingatlah untuk _2 agar tidak ada orang lain yang membacanya. Anda sekarang dapat mencoba menjalankan mysql _ secara langsung, dan itu akan membaca nama pengguna dan kata sandi Anda dari 1 tanpa meminta apa pun dari AndaTetapi sekali lagi, jika Anda menggunakan kata sandi yang lemah dan seseorang berhasil menebaknya, Anda masih berisiko mengekspos seluruh database MySQL Anda kepada mereka. Pikirkan bagaimana pengguna root di sistem Anda masuk ke MySQL secara langsung - aman dan terlindungi, karena Anda tidak dapat masuk tanpa kata sandi menggunakan pengguna root (kecuali jika Anda menjalankan 6 sebagai pengguna biasa). Kabar baiknya adalah, Anda dapat mereplikasi penyiapan ini untuk diri Anda sendiri. Jadi baca terus untuk solusi terakhir dan sempurnaMetode 3. Gunakan otentikasi UnixSedikit latar belakang dulu. Seperti bagaimana seseorang bisa mendapatkan alamat dan port dari ujung lain dari soket TCP atau UDP, seseorang juga bisa mendapatkan informasi konektor dari ujung lain dari soket unix, yaitu ID proses, ID pengguna dan ID grup (lihat 7, Ketika Anda menjalankan 0, dan dengan cara ini server MySQL akan tahu siapa yang mencoba untuk terhubung. Ini persis bagaimana MySQL mengidentifikasi pengguna root lokal. Pengguna root tidak akan memiliki akses yang sama jika mencoba terhubung melalui TCP (mis. e. _1)Agar MySQL mengenali Anda menggunakan sihir soket unix, Anda dapat menggunakan kueri berikut untuk membuat pengguna Anda
Jika Anda telah membuat pengguna, Anda dapat mengubah metode autentikasinya hanya dengan mengganti 2 dengan 3 dalam kueri di atas
MariaDB membuat perbedaan di siniMariaDB, garpu komunitas Oracle MySQL, menggunakan kueri serupa untuk otentikasi soket unix
Lebih baik lagi, MariaDB mendukung pembuatan pengguna dengan kueri 4, sehingga dua kueri pertama dapat digabungkan menjadi satu
Setelah pengguna disiapkan dengan benar, gunakan kueri 4 yang sama untuk memberikan akses kepada Anda sendiriSekarang Anda dapat menggunakan _1 dengan aman jika Anda membuatnya mengikuti Metode 2 dan Anda tidak memiliki opsi lain di dalamnya. Anda juga dapat mencoba menggunakan _8 di bawah pengguna lain dan melihatnya gagal, untuk memastikan bahwa hanya Anda yang dapat mengakses database secara langsungMembuat dan memberikan akses ke lebih banyak penggunaJika Anda ingin membuat lebih banyak pengguna dengan baris perintah
Ini karena Anda belum memberi diri Anda hak istimewa untuk diberikan, atau dengan kata lain, hak istimewa Anda tidak "dapat didistribusikan kembali" Anda dapat menyetel hak istimewa lagi, tetapi dengan hak istimewa untuk "mendistribusikan kembali" akses Anda ke lebih banyak pengguna, dengan kueri berikut
Demikian pula, one-liner untuk MariaDB terlihat seperti ini
Baik MySQL dan MariaDB membutuhkan "pembilasan" setelah penetapan hak istimewa apa pun diubah Anda kemudian dapat membuat lebih banyak pengguna dengan akses tanpa kata sandi Anda, dan bermain-main dengan MySQL untuk memenuhi rasa ingin tahu Anda Bagaimana cara saya masuk ke MySQL tanpa kata sandi?Ini kasusnya jika Anda menginisialisasi direktori data menggunakan mysqld --initialize-insecure. . Terhubung ke server sebagai root tanpa kata sandi. $> mysql -u root --lewati-kata sandi Tetapkan kata sandi. mysql> ALTER USER 'root'@'localhost' DIIDENTIFIKASI OLEH 'root-password'; Bagaimana cara menggunakan perintah MySQL tanpa prompt kata sandi?Cara Menggunakan Perintah MySQL tanpa Prompt Kata Sandi . Membuat. -ku. cnf di direktori home pengguna dari mana perintah atau skrip dijalankan. vi ~/. -ku. cnf. . Sekarang amankan file konfigurasi yang baru dibuat. chmod 600 ~/. -ku. cnf Semua selesai. Mari kita uji penyiapan. Saya telah menggunakan perintah berikut untuk memverifikasi konfigurasi di atas Mengapa MySQL tidak meminta kata sandi?Alasannya adalah MySQL menggunakan opsi autentikasi soket secara default untuk pengguna root . Jika Anda ingin menonaktifkannya, Anda perlu mengubah plugin Otentikasi untuk akun root dari "Otentikasi soket" menjadi "Otentikasi MySQL Asli". Simpan jawaban ini. |