Saya terus menerus menerima kesalahan ini.
Saya menggunakan mySQL Workbench dan dari apa yang saya temukan adalah bahwa hak istimewa skema root adalah null. Tidak ada hak istimewa sama sekali.
Saya mengalami masalah di seluruh platform tempat server saya digunakan dan ini adalah masalah mendadak.
[email protected] tampaknya memiliki banyak akses tetapi saya masuk sebagai itu, tetapi itu hanya menetapkan ke localhost lagian - localhost tidak memiliki hak istimewa.
Saya telah melakukan beberapa hal seperti FLUSH HOSTS
, FLUSH PRIVILEGES
, dll tapi tidak menemukan sukses dari itu atau internet.
Bagaimana saya bisa mendapatkan akses root kembali? Saya merasa frustrasi karena ketika saya melihat sekeliling, orang-orang mengharapkan Anda untuk "memiliki akses" tetapi saya tidak memiliki akses sehingga saya tidak dapat masuk ke baris perintah atau apa pun dan GRANT
diri saya sendiri.
Saat menjalankan SHOW GRANTS FOR root
inilah yang saya dapatkan sebagai imbalan:
Kode Kesalahan: 1141. Tidak ada hibah yang ditentukan untuk 'root' pengguna pada host '%'
sumber
SHOW GRANTS FOR root
dalam kueri, posting hasil dalam pertanyaan Anda.Jawaban:
Gunakan instruksi untuk mengatur ulang kata sandi root - tetapi alih-alih mengatur ulang kata sandi root, kami akan memasukkan secara paksa catatan ke tabel mysql.user
Di file init, gunakan ini sebagai gantinya
sumber
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Semuanya di tempat yang seharusnya dan apa yang Anda miliki di atas saya masukkan ke dalam file yang sesuai. Saya juga menghentikan layanan. Saya baru saja mendapatkan output ini: prntscr.com/1ilxau Dan semua (plugin) dimatikan. Sangat membingungkan.ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
kesalahan. @AndyJonesJika Anda memiliki masalah yang sama di MySql 5.7. +:
Itu karena MySql 5.7 secara default memungkinkan untuk terhubung dengan soket, yang berarti Anda cukup terhubung dengannya
sudo mysql
. Jika Anda menjalankan sql:maka Anda akan melihatnya:
Untuk mengizinkan koneksi dengan root dan kata sandi, perbarui nilai dalam tabel dengan perintah:
Kemudian jalankan perintah pilih lagi dan Anda akan melihatnya telah berubah:
Dan itu dia. Anda dapat menjalankan proses ini setelah menjalankan dan menyelesaikan
sudo mysql_secure_installation
perintah.Untuk mariadb, gunakan
untuk mengatur kata sandi. Selengkapnya di https://mariadb.com/kb/en/set-password/
sumber
auth_socket
menjadimysql_native_password
memperbaiki masalah saya. Terima kasih!mysql_secure_installation
. Terima kasih banyak atas jawaban ini.Itu tidak menyukai hak istimewa pengguna saya jadi saya SUDO itu. (di bash << sudo set user and password) (ini memberi nama pengguna root dan tidak mengatur kata sandi) (Di Mac)
sumber
Coba perintah berikut
sumber
sudo mysqld_safe
memberi saya ini/var/run/mysqld for UNIX socket file don't exists
, kemudian setelahmkdir -p /var/run/mysqld
dansudo chown -R mysql:mysql /var/run/mysqld/
berhasil dan memulai daemon.untuk orang-orang yang menghadapi kesalahan di bawah ini dalam versi mysql 5.7+ -
Buka terminal baru
sudo /etc/init.d/mysql stop
... MySQL Community Server 5.7.8-rc dihentikansudo mysqld_safe --skip-grant-tables &
ini akan mengabaikan semua hak tingkat pemberian dan memulai mysql dalam mode aman Terkadang proses macet hanya karenagrep: kesalahan tulis: Pipa rusak 180102 11:32:28 mysqld_safe Masuk ke '/var/log/mysql/error.log'.
Cukup tekan Ctrl + Z atau Ctrl + C untuk menghentikan dan keluar dari proses
mysql -u root
Selamat datang di monitor MySQL. Perintah diakhiri dengan; atau \ g. ID koneksi MySQL Anda adalah 2 Versi server: 5.7.8-rc MySQL Community Server (GPL)
Hak Cipta (c) 2000, 2015, Oracle dan / atau afiliasinya. Seluruh hak cipta.
Oracle adalah merek dagang terdaftar dari Oracle Corporation dan / atau afiliasinya. Nama lain mungkin merupakan merek dagang dari pemiliknya masing-masing.
Ketik 'bantuan;' atau '\ h' untuk bantuan. Ketik '\ c' untuk menghapus pernyataan masukan saat ini.
use mysql;
Membaca informasi tabel untuk penyelesaian nama tabel dan kolom Anda dapat menonaktifkan fitur ini untuk memulai lebih cepat dengan -A
Database berubah
mysql>
update user set authentication_string=password('password') where user='root';
Query OK, 4 baris terpengaruh, 1 peringatan (0,03 detik) Baris cocok: 4 Berubah: 4 Peringatan: 1mysql>
flush privileges;
Kueri Oke, 0 baris terpengaruh (0,00 dtk)mysql>
quit
Dahsudo /etc/init.d/mysql stop
..180102 11:37:12 mysqld_safe mysqld dari file pid /var/run/mysqld/mysqld.pid berakhir. * MySQL Community Server 5.7.8-rc dihentikan arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * MySQL Community Server 5.7.8-rc dimulai
mysql -u root -p
Masukkan kata kunci:
Selamat datang di monitor MySQL. Perintah diakhiri dengan; atau \ g. ID koneksi MySQL Anda adalah 2 Versi server: 5.7.8-rc MySQL Community Server (GPL)
setelah versi mysql 5.7+, kata sandi kolom diganti dengan nama authentication_string dari tabel mysql.user.
semoga langkah ini bisa membantu siapapun, terima kasih.
sumber
Saya menggunakan ubuntu 18 dan hanya menginstal MySQL (kata sandi: root) dengan perintah berikut.
Ketika saya mencoba masuk dengan pengguna ubuntu biasa, itu membuat saya mengalami masalah ini.
Tapi saya bisa login ke MySQL melalui super user. Dengan menggunakan perintah berikut, saya dapat masuk melalui pengguna biasa.
Maka Anda harus bisa login ke Mysql dengan akun biasa.
sumber
Cara sederhana untuk mengatur ulang kata sandi root pada sistem Linux:
Lihat beberapa alasan lain untuk Akses ditolak:
https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html
sumber
Jika Anda mendapatkan kesalahan ini di Workbench tetapi Anda dapat masuk dari terminal, ikuti langkah-langkah ini.
Pertama, cukup masuk dengan kata sandi Anda saat ini:
Kemudian ubah kata sandi Anda karena memiliki kata sandi berkekuatan rendah terkadang memberikan kesalahan.
Kemudian cukup keluar dan masuk lagi dengan kata sandi baru Anda:
Setelah Anda berhasil masuk, ketik perintah:
Ini harus menunjukkan pesan seperti 'Database berubah' lalu ketik:
Setelah jenis itu:
Lalu ketik:
Kemudian cukup keluar:
Sekarang coba masuk dengan kata sandi baru Anda di WORKBENCH Anda. Semoga berhasil. Terima kasih.
sumber
Saya menghadapi masalah ini saat menginstal Testlink di server Ubuntu, saya mengikuti langkah-langkah ini
Sekarang hentikan instance dan mulai lagi yaitu
sumber
Nah cara termudah untuk mereset kata sandi root adalah:
restart opsi mysqld --skip-grant-tables . Ini memungkinkan siapa saja untuk terhubung tanpa kata sandi dan dengan semua hak istimewa. Karena ini tidak aman, Anda mungkin ingin menggunakan --skip-grant-tables bersama dengan --skip-networking untuk mencegah klien jarak jauh terhubung.
Hubungkan ke server mysqld dengan perintah ini:
shell> mysql Terbitkan pernyataan berikut di klien mysql. Ganti kata sandi dengan kata sandi yang ingin Anda gunakan.
mysql> UPDATE mysql.user SET Kata Sandi = PASSWORD ('MyNewPass') -> WHERE User = 'root'; mysql> HAK ISTIMEWA FLUSH;
Hentikan server, lalu mulai ulang secara normal (tanpa opsi --skip-grant-tables dan --skip-networking).
Sumber dokumentasi Mysql dan pengalaman pribadi:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
sumber
di mysql 5.7 bidang kata sandi telah diganti dengan authentication_string sehingga Anda akan melakukan sesuatu seperti ini
Lihat tautan ini DB pengguna MySQL tidak memiliki kolom kata sandi - Menginstal MySQL di OSX
sumber
Saya menyelesaikan masalah yang sama dengan menjalankan Workbench sebagai administrator.
... Saya kira itu karena pembatasan pada komputer perusahaan, dalam kasus saya ...
sumber
Coba langkah-langkah berikut untuk mengatasi masalah ini:
mysqld --console
.171010 14:58:22 [Note] --secure-file-priv
itu disetel ke NULL. Operasi yang terkait dengan mengimpor dan mengekspor data dinonaktifkan, setelah menjalankan perintah di atas dari prompt perintah.mysqld
apakah itu diblokir oleh Windows Firewall atau program lain.mysqld
ataumysql
, ikuti langkah-langkah di bawah ini:wf.msc
untuk membuka pengaturan firewall.mysqld
ataumysqld
contoh tersedia dalam daftar dan centang kotak centang untuk domain, publik dan pribadi dan simpan pengaturan.Seharusnya sekarang mungkin untuk menjalankan konsol MySQL tanpa masalah!
sumber
Saya menyelesaikan masalah yang sama menggunakan sql berikutnya dan memulai ulang server MySQL:
sumber
Saya mengerjakan Access Denied for User 'root' @ 'localhost' (menggunakan kata sandi: YA) selama beberapa jam, saya telah menemukan solusi berikut,
sumber
Saya tidak berpikir Anda harus keluar dari
--init-file
parameter:"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Seharusnya:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt
sumber
untuk masalah di atas, kata sandi Anda dalam sistem harus cocok dengan kata sandi yang telah Anda lewati dalam program karena ketika Anda menjalankan program itu memeriksa kata sandi sistem karena Anda telah memberikan root sebagai pengguna sehingga memberi Anda kesalahan dan pada saat yang sama mencatat tidak dihapus dari database.
Simpan kata sandi sistem Anda sebagai jacob234 dan kemudian jalankan kode.
sumber
Dengan saya ada masalah yang sama, tetapi itu disebabkan, karena saya menggunakan server mysql pada 32 (bit) dan meja kerja berjalan pada versi 64 (bit). server dan meja kerja harus memiliki versi yang sama.
xpress
sumber
Bagi saya, saya menggunakan MYSQLWorkbench dan portnya 3306 MAMP menggunakan 8889
sumber
Saya menghadapi masalah yang sama ketika saya mencoba menghubungkan database Mysql menggunakan aplikasi Laravel. Saya ingin merekomendasikan silakan periksa kata sandi untuk pengguna. Kata sandi MySQL tidak boleh memiliki karakter khusus seperti # , & , dll ...
sumber