Saya hanya mencoba menambahkan pengguna baru ke MySQL menggunakan
CREATE USER 'name'@'%' IDENTIFIED BY '...'
Namun, gagal dengan kesalahan berikut:
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
Menambahkan pengguna hanya untuk localhost berfungsi dengan baik:
CREATE USER 'name'@'localhost' IDENTIFIED BY '...'
Saya tidak tahu apa yang bisa menjadi masalah. Saya akan berterima kasih atas ide.
(Saya menggunakan mysql Ver 14.14 Distrib 5.1.66
.)
Jawaban:
Menurut dokumen jika Anda menonaktifkan @ 'hostname' (yaitu CREATE USER 'name') MySQL akan mengartikannya karena memiliki @ '%'. Pesan kesalahan yang Anda berikan menunjukkan bahwa sudah ada 'nama' @ '%' pengguna di sistem:
Jika Anda menghapus pengguna dan masih menerima pesan, coba jalankan FLUSH PRIVILEGES.
Lihat juga pertanyaan SO ini untuk info tambahan.
sumber
Saya menghadapi kesalahan yang sama saat menggunakan mysql: 5.7 buruh pelabuhan gambar. Kesalahan utama adalah mencoba membuat
root
pengguna yang ada secara default. Informasi lebih lanjut: https://github.com/docker-library/mysql/issues/129Seperti yang diberikan dalam tautan di atas, solusinya adalah TIDAK mengatur
MYSQL_USER
danMYSQL_PASSWORD
dalam variabel lingkungan saat memulai gambar buruh pelabuhan.sumber