Tanpa sengaja mengunci diri saya dari MySQL dengan mengubah host

8

Ketika mencoba untuk membuat MySQL remote berfungsi, saya entah bagaimana berhasil mengunci diri dengan akun root.

Biasanya, saya akan menghentikan layanan MySQL dan restart menggunakan /etc/init.d/mysql --init-file, tetapi ketika saya mencoba melakukan itu, ia mengatakan skrip telah dikonversi ke pekerjaan pemula dan untuk menggunakan perintah "service mysql". Sayangnya, sejauh yang saya tahu, serviceperintah itu tidak mendukung --init-fileopsi.

Apakah ada cara lain untuk mengatur ulang host untuk pengguna root?

nickjyc
sumber

Jawaban:

9

Hentikan MySQL:

service mysqld stop

kemudian mulai MySQL seperti ini

mysqld_safe --skip-grant-tables --skip-networking

Pada titik ini Anda harus dapat terhubung ke mysql (dari mesin lokal) sebagai root.

Chad Feller
sumber
1
Anda juga bisa service mysqld restart --skip-grant-tables --skip-networking. Kemudian, setelah memperbaiki root service mysql restart,. Meskipun demikian, +1 !!!
RolandoMySQLDBA
1

Pada akhirnya, opsi itu akan diteruskan ke mysqld_safe; yang dokumentasi menjelaskan ini secara rinci. Anda mungkin dapat menemukan bagaimana pemula memohon MySQL, dan kemudian mulai secara manual dengan cara yang sama dengan --init-fileopsi yang ditambahkan . Pastikan Anda memulainya sebagai pengguna yang tepat!

Jika Anda menggunakan Debian atau Ubuntu, Anda mungkin akan menemukan bahwa ada debian-sys-maintpengguna setara root yang mungkin dapat Anda gunakan sementara; Anda akan menemukan kata sandi yang dibuat secara otomatis untuk itu di /etc/mysql/debian.cnf. Mungkin ada alternatif di sistem lain juga? Opsi ini mungkin akan lebih mudah,

dom
sumber