Pada cPanel ketika saya login sebagai root dan ketik "mysql" tanpa nama host dan kata sandi itu memberi saya akses langsung ke pengguna root mysql.
Saya ingin melakukan ini untuk salah satu server non-cpanel saya di mana pengguna root linux mendapatkan lebih sedikit kata sandi login ke pengguna root mysql dengan cara yang sama seperti yang dilakukan pada cPanel.
Apakah ini mungkin?
/etc/my.cnf
yang digunakan server mysql untuk boot. Jika Anda memasukkan pengguna root mysql di/etc/my.cnf
SIAPAPUN dapat menggunakan server mysql dengan SEMUA hak istimewa pada SETIAP database tanpa kata sandi. Iain menunjuk ke arah pengguna shell itu sendiri.my.cnf
di rumah root yang tentu saja benar.Untuk mysql 5.7+, jika Anda menetapkan kata sandi kosong untuk pengaturan awal, mysql akan secara otomatis digunakan
auth_socket
sebagai strategi. Upaya untuk memperbarui kata sandi tanpa mengubah strategi tidak akan membuahkan hasil. Anda selalu dapat masuk tanpa menggunakan kata sandi jika pengguna Andaroot
.Solusi Jalankan perintah berikut untuk mengubah strategi otentikasi dan mengatur kata sandi
referensi: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
sumber
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
... BY "";
. Terima kasih!Pada MySQL 5.6.6, Anda dapat menggunakan mysql_config_editor untuk membuat file terenkripsi yang akan mencatat Anda secara otomatis:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
Kemudian masukkan kata sandi saat diminta.
Catatan: jika kata sandi Anda memiliki '#', dan mungkin karakter lain, gunakan tanda kutip tunggal saat memasukkan kata sandi.
sumber
Buat file dengan hanya berisi kata sandi root mysql dan hanya root yang bisa membaca.
Anda dapat mengimpor basis data dengan
atau terhubung ke database Anda dan mengeluarkan perintah mysql
sumber
ps
(1)