Saya ingin mulai menulis pertanyaan di MySQL.
show grants
menunjukkan:
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
Saya tidak memiliki id pengguna tetapi ketika saya ingin membuat pengguna saya tidak memiliki privilleges, saya juga tidak tahu bagaimana membuat privilege ketika bahkan saya tidak memiliki satu pengguna!
mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation
Saya mencoba masuk sebagai root:
mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
-u root -p root' at line 1
root
seharusnya dibuat ketika Anda menginstal MySQL.mysql -u root -p
. Kemudian Anda akan memiliki izin penuh di server database, dan Anda dapat membuat pengguna lain.Jawaban:
Tidak, Anda harus menjalankan
mysql -u root -p
dalam bash, bukan pada baris perintah MySQL. Jika Anda berada di mysql, Anda dapat keluar dengan mengetikkan exit .sumber
Anda mungkin perlu mengatur akun root untuk database MySQL Anda:
Dalam jenis terminal:
Dan kemudian memanggil klien MySQL:
sumber
Saya dibawa ke sini oleh masalah yang berbeda. Setiap kali saya mencoba masuk, saya mendapat pesan itu karena alih-alih mengautentikasi dengan benar, saya masuk sebagai pengguna anonim. Solusi untuk masalah saya adalah:
Untuk melihat pengguna mana Anda, dan yang memiliki izin yang Anda miliki:
Untuk menghapus pengguna anonim sial:
sumber
Ini ada hubungannya dengan izin pengguna. Memberikan hibah yang tepat akan menyelesaikan masalah ini.
Langkah [1]: Buka terminal dan jalankan perintah ini
Output [1]: Ini akan memberi Anda prompt mysql yang ditunjukkan di bawah ini
Langkah 2]:
Sintaksis:
Langkah [3]: Keluar dari prompt mysql saat ini dengan memasukkan
quit
/exit
memerintahkan atau tekanCtrl+D
.Langkah [4]: Masuk ke pengguna baru Anda
Langkah [5]: Buat database
sumber
CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
sana mendapatkan kesalahan: KESALAHAN 1227 (42000): Akses ditolak; Anda memerlukan (setidaknya satu dari) hak istimewa CREATE USER untuk operasi iniAnda mungkin ingin mencoba perintah masuk lengkap:
di mana tuan rumah akan berada
127.0.0.1
.Lakukan ini hanya untuk memastikan adanya kerja sama.
Menggunakan
mysql -u root -p
memungkinkan saya untuk melakukan banyak pencarian basis data, tetapi menolak pembuatan basis data apa pun karena pengaturan jalur.sumber
Pertama, jika Anda tidak terbiasa dengan baris perintah, coba gunakan phpmyadmin dari browser web Anda. Ini akan memastikan Anda benar-benar membuat database mysql dan nama pengguna.
Ini adalah bagaimana Anda terhubung dari baris perintah (bash):
Sebagai contoh:
sumber
-p
adalah kata sandi dan Anda menggunakannya untuk memberikan nama basis data. Juga, untuk kata sandi, seharusnya tidak ada spasi b / w-p
dan kata sandi yang sebenarnya. Gunakan-D
untuk terhubung ke database tertentu.Jika Anda berada di
MySQL
shell, keluar dengan mengetikkan exit , yang akan mengembalikan Anda ke command prompt.Sekarang mulailah
MySQL
dengan menggunakan persis perintah berikut:Jika nama pengguna Anda adalah sesuatu selain dari root, ganti 'root' pada perintah di atas dengan nama pengguna Anda:
Ini kemudian akan menanyakan
MySQL
akun / kata sandi Anda, dan AndaMySQL
tidak akan menunjukkan masalah hak akses apa pun saat itu.sumber
@Nickparsa… Anda memiliki 2 masalah:
1).
mysql -uroot -p
harus diketik dalam bash (juga dikenal sebagai terminal Anda) bukan di baris perintah MySQL. Anda memperbaiki kesalahan ini dengan mengetikdi baris perintah MySQL Anda. Sekarang Anda kembali ke bash / terminal command-line Anda.
2). Anda memiliki kesalahan sintaksis:
titik koma di depan -p harus pergi. Sintaks yang benar adalah:
ketik sintaks yang benar di bash commandline Anda. Masukkan kata sandi jika Anda memiliki satu pengaturan; lain cukup tekan tombol enter. Anda harus mendapatkan respons yang mirip dengan ini:
Semoga ini membantu!
sumber
Sebagian besar Pengembang masuk ke server (saya berasumsi Anda memiliki nama pengguna dan kata sandi untuk basis data mysql) kemudian dari Bash mereka beralih untuk
mysql> prompt
kemudian menggunakan perintah di bawah ini (yang tidak berfungsiApa yang perlu dilakukan adalah menggunakan perintah di atas dalam bash prompt -> pada saat melakukan hal itu akan meminta kata sandi jika diberikan akan langsung dibawa ke prompt mysql dan
lalu database, tabel bisa dibuat satu per satu
Saya menghadapi jalan buntu yang serupa sehingga berbagi pengalaman
sumber
Saya memiliki perintah yang benar per jawaban di atas, apa yang saya lewatkan ada di Workbench, di mana kami menyebutkan 'Batasi Konektivitas dari Host' untuk pengguna, itu default ke "%" - ubah ini menjadi "localhost" dan terhubung dengan baik sesudahnya!
sumber