Bagaimana saya bisa menghapus kata sandi untuk MySQL? Saya tidak ingin memiliki kata sandi untuk terhubung ke database. Server saya menjalankan Ubuntu.
Bagaimana saya bisa menghapus kata sandi untuk MySQL? Saya tidak ingin memiliki kata sandi untuk terhubung ke database. Server saya menjalankan Ubuntu.
Jawaban:
Secara pribadi, saya pikir lebih baik mengatur kata sandi dan menyimpannya di /root/.my.cnf:
Pertama:
mysqladmin -u root password 'asdfghjkl'
Kemudian edit file .my.cnf root:
[client]
password = asdfghjkl
Pastikan untuk chmod 0600 .my.cnf
.
Sekarang Anda memiliki kata sandi tetapi Anda tidak lagi diminta untuk itu. Instalasi server MySQL default saya adalah kata sandi unik yang benar-benar acak untuk setiap server MySQL, disimpan dalam file .my.cnf seperti ini.
mv ./+%Y%m%d
. $ Db.sql $ OUTPUT` antara mysqldump dan gzip
Jika Anda memiliki set kata sandi untuk MySQL, ikuti instruksi di Pulihkan kata sandi root MySQL , dan kemudian atur kata sandi Anda ke nol:
Untuk 5.7.6 dan yang lebih baru
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
Untuk 5.7.5 dan sebelumnya
update user set password=PASSWORD("") where User='root';
* membutuhkan restart DB (lihat instruksi di tautan) agar ini berlaku.
sudo service mysql restart
unix_socket
Plugin melakukan hal yang sedikit berbeda.
Ya, lebih sedikit kata sandi bisa menjadi hal yang baik. Tapi jangan hanya membuka database untuk semua orang.
via unix_socket:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
Ini memberi Anda akses mysql tanpa kata sandi untuk pengguna root yang masuk secara lokal. Btw. ini adalah default dalam rilis ubuntu / debian terbaru.
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
Slide penjelasan: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips .