Menambahkan pengguna ke MySQL dengan 'name' @ '%' gagal dengan ERROR 1396

9

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.)

Petr Pudlák
sumber
Saya menghadapi masalah yang sama, ketika MENCIPTAKAN / MENGURANGI pengguna, saya memverifikasi semua tabel hibah untuk informasi pengguna, saya tidak dapat menemukan info pengguna, saya mencoba mencabut semua akses dan menjatuhkan pengguna, setelah beberapa saat, operasi bekerja, tanpa melakukan setiap perubahan, saya menulis jawaban terperinci saya di sini rathishkumar.in/2018/10/…
Rathish

Jawaban:

13

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:

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.04 sec)

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
mysql> CREATE USER 'name' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

Jika Anda menghapus pengguna dan masih menerima pesan, coba jalankan FLUSH PRIVILEGES.

Lihat juga pertanyaan SO ini untuk info tambahan.

redguy
sumber
1

Saya menghadapi kesalahan yang sama saat menggunakan mysql: 5.7 buruh pelabuhan gambar. Kesalahan utama adalah mencoba membuat rootpengguna yang ada secara default. Informasi lebih lanjut: https://github.com/docker-library/mysql/issues/129

Seperti yang diberikan dalam tautan di atas, solusinya adalah TIDAK mengatur MYSQL_USERdan MYSQL_PASSWORDdalam variabel lingkungan saat memulai gambar buruh pelabuhan.

rahuljain1311
sumber
Ini sangat membantu saya! Saya tidak tahu mengapa saya tidak bisa terhubung ke DB di buruh pelabuhan dan tidak pernah curiga inilah alasannya.
dingo_d