Setelah mengatur kata sandi root, mengapa MYSQL masih mengizinkan saya untuk masuk tanpa kata sandi dari baris perintah? Saya dapat mengetik "mysql" di prompt root unix dan tidak meminta kata sandi dan masih memungkinkan saya mengakses root. Saya tidak mengerti mengapa "mysql -u root" tidak SEKARANG meminta saya untuk kata sandi yang saya tetapkan di akun.
Juga, saya tidak bisa masuk ke mysql dari mesin remote sebagai 'root'. Bukankah saya mengkonfigurasinya dengan benar di bawah ini? Saya mendapatkan kesalahan: "Host ... tidak diizinkan untuk terhubung ke server MySQL ini. Apakah saya tidak mengkonfigurasi untuk '%'?
Ini tabel pengguna saya:
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| % | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| % | | |
+-----------+------+-------------------------------------------+
6 rows in set (0.00 sec)
sumber
Jawabannya ada di tabel itu - Anda harus menghapus baris "root" yang tidak memiliki kata sandi.
Juga, sepertinya Anda mengizinkan koneksi dari mana saja (?!?!) Saat tidak menggunakan pengguna atau akses. Mungkin ide yang buruk. Saya akan melakukan sesuatu seperti:
sumber
Jangan lupa untuk FLUSH PRIVILEGES atau Anda masih bisa masuk tanpa kata sandi.
sumber