Untuk beberapa alasan MySQL berhenti memberikan akses untuk root. Dicopot dan dipasang ulang dengan Homebrew. Instal baru, tabel baru tetapi ketika saya masuk
mysql -u root -p
Saya mendapatkan kesalahan ini:
Akses ditolak untuk 'root' @ 'localhost' pengguna (menggunakan kata sandi: TIDAK)
Saya menginstal ulang MySQL lima kali tetapi masih meminta kata sandi. Bagaimana cara mengatasinya?
mysql_secure_installation
dan jawab pertanyaan yang diajukan, sederhanamysql -u root
bekerja di sini ...Jawaban:
Jalankan saja perintah ini (di mana
NEWPASS
kata sandi Anda):Saya mengalami kesalahan yang sama dan memperbaikinya dengan cara ini.
sumber
$(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
Tak satu pun dari ini berhasil untuk saya. Saya pikir saya sudah memiliki mysql di suatu tempat di komputer saya sehingga kata sandi disetel di sana atau sesuatu. Setelah menghabiskan berjam-jam mencoba setiap solusi di luar sana, inilah yang berhasil untuk saya:
semua kredit untuk @Ghrua
sumber
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
untuk mengatur kata sandi root baru Anda.Jika Anda secara tidak sengaja mengatur dan lupa kata sandi root, dan Anda tidak ingin menghapus semua database Anda dan memulai kembali karena Anda malas dan lupa memiliki solusi cadangan, dan Anda menggunakan instalasi Homebrew yang cukup baru (Musim Dingin 2013), berikut adalah langkah-langkah untuk mengatur ulang kata sandi Anda untuk MySQL.
Hentikan instance MySQL yang sedang berjalan
Sekarang mulai mysql dengan melewatkan tabel hibah dan jaringan
Perhatikan bahwa jika Anda menjalankan echo $ (brew --prefix mysql) dan tidak merespons sebagai "/ usr / local / opt / mysql" di bash, Anda perlu menyesuaikan jalur yang sesuai.
Setelah Anda melakukan ini, Anda sekarang harus memiliki instance MySQL yang berjalan dan tidak terlindungi.
Masuk dan atur kata sandi
Saat diminta, masukkan perintah MySQL berikut untuk menetapkan kata sandi baru bagi pengguna yang terkena dampak.
Jika semua berjalan sesuai rencana, seharusnya dikatakan:
Keluar dari prompt MySQL.
Hentikan server:
Sekarang, mari kita kembalikan daemon peluncuran sehingga MySQL kita siap lagi:
Selamat. Anda baru saja mereset kata sandi root mysql Anda. Tuangkan kopi untuk diri Anda sendiri dan dapatkan solusi cadangan!
sumber
mysqladmin -u root shutdown
password
itu bukan kolom yang valid di mysql 5.7.9. Sebaliknya saya harus menggunakanauthentication_string
sebagai gantinya. Instruksi lainnya bekerja dengan sempurna. Terima kasih!update user set authentication_string=password('new_password_here') where user='root';
update mysql.user set authentication_string=password('none') where user='root';
agar bisa bekerja. (Seperti komentar tepat di atas saya, tetapi tambahkanmysql.
keuser
.)Saya mengalami masalah yang sama beberapa hari yang lalu. Ini terjadi ketika Anda menginstal
mysql
melaluihomebrew
dan menjalankan skrip inisialisasi (mysql_install_db
) sebelum memulaimysql
daemon.Untuk memperbaikinya, Anda dapat menghapus
mysql
file data, memulai ulang layanan, lalu menjalankan skrip inisialisasi:sumber
mysqld --initialize
No such file or directory
ketika saya menjalankan perintah pertama itu.Mendapat kesalahan ini setelah menginstal mysql melalui home brew.
Jadi pertama hapus instalasi. Kemudian Instal ulang melalui Homebrew
Kemudian restart layanan mysql
Kemudian jalankan perintah ini untuk mengatur kata sandi root baru Anda.
Akhirnya itu akan meminta untuk memuat ulang hak istimewa. Bilang iya. Kemudian login ke mysql lagi. Dan gunakan kata sandi baru yang telah Anda tetapkan.
sumber
mysql_secure_installation
tetapi bagian utamanya adalahmysql.server restart
Jika Anda lari
juga gagal masuk dengan akun root:
maka pengguna admin default dibuat dengan nama yang sama dengan nama pengguna akun MacOS Anda , misalnya johnsmit .
Untuk masuk sebagai root, masalah:
sumber
Ini berhasil untuk saya:
sumber
Saya baru saja memperhatikan sesuatu yang umum untuk sebagian besar jawaban di sini, dan mengonfirmasi pada pemasangan baru saya. Sebenarnya sudah jelas jika Anda melihat rekomendasi untuk dijalankan
mysqladmin -u root
tanpa-p
.Tidak ada kata sandi.
Brew mengatur mysql hanya dengan pengguna root dan tanpa kata sandi sama sekali. Ini masuk akal, saya kira, tetapi Peringatan pasca-pemasangan tidak menyebutkannya sama sekali.
sumber
Coba dengan
sudo
untuk menghindari kesalahan "Akses ditolak":sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
sumber
Karena pertanyaan sudah lama ditanyakan / dijawab, jawaban teratas itu tidak cocok untuk saya. Inilah solusi saya, pada tahun 2020.
Latar belakang : mysql / mariadb segar dipasang oleh homebrew.
Masalah : Kata sandi untuk root tidak kosong dan tidak dikenal.
Cara mengatasinya :
Alasannya :
sumber
Semoga ini membantu.
sumber
Menjalankan baris-baris ini di terminal melakukan trik bagi saya dan beberapa orang lain yang memiliki masalah yang sama. Instruksi ini terdaftar di terminal setelah brew menginstal mysql dengan sukses.
dimana
YOURPASSWORD
kata sandi untuk root.sumber
No such file or directory
ketika saya menjalankan perintah iniPeriksa apakah Anda tidak menyembunyikan .my.cnf di homedir Anda. Itu masalah saya.
sumber
Ini berhasil bagi saya untuk MAC https://flipdazed.github.io/blog/osx%20maintenance/set-up-mysql-osx
Mulai mysql dengan menjalankan
layanan pembuatan bir mulai mysql
Jalankan skrip instalasi
mysql_secure_installation
Anda akan diminta untuk menyiapkan plugin VALIDATE PASSWORD. Masukkan y untuk melakukan ini.
Pilih validasi kata sandi yang diperlukan (Tidak masalah jika Anda hanya menggunakan database)
Sekarang pilih y untuk semua opsi yang tersisa: Hapus langsung. pengguna; larang login root jarak jauh; hapus database uji; memuat ulang tabel hak istimewa. Sekarang Anda akan menerima pesan
All done!
sumber
Ini berhasil untuk saya. Semoga ini berhasil juga untuk Anda !!! Ikuti mereka.
sumber
rm -rf /usr/local/var/mysql/
perintah akan menghapus semua database dan data Mysql di komputer Anda!Kata sandi default ketika Anda menginstal mysql melalui brew adalah root coba ini, itu berhasil untuk saya
mysql -uroot -proot
sumber
brew info mysql
: Kami telah menginstal database MySQL Anda tanpa kata sandi root. Untuk mengamankannya, jalankan: mysql_secure_installationTerminal 1:
Terminal 2:
sumber
Saya menggunakan Catalina dan menggunakan
mysql_secure_installation
perintah ini dan sekarang berfungsi untuk saya:saya masukkan
root
sebagai kata sandi saat inidan lakukan sisanya
sumber
Jadi, jika seseorang memiliki situasi dan konfigurasi yang sama seperti saya dan juga akan menjadi gila - ini berhasil untuk saya .
Setelah cerita panjang, saya memasang MariaDB yang diinstal ulang yang terus secara otomatis memulai ulang ketika saya mematikan prosesnya (ini dilakukan oleh minuman), yang memiliki kata sandi root, yang saya tidak tahu.
$ brew services list
Ini menunjukkan sesuatu seperti:
mariadb started jdoe /path/to/homebrew.mxcl.mariadb.plist
Hentikan server MySQL dengan:
$ brew services stop mariadb
Kemudian mulai lagi tanpa pengguna root (dan tidak menggunakan brew):
$ mariadbd --skip-grant-tables &
Di sini,
mysql_secure_installation
tidak berhasil untuk saya karena--skip-grant-tables
, dan itu tidak akan berfungsi tanpa--skip-grant-tables
karena memerlukan kata sandi (yang tidak saya miliki).Mencoba
$(brew --prefix mysql)/bin/mysqladmin -u root password hunter2
hanya mengembalikan kesalahan aneh dan tidak melakukan apa pun;$(brew --prefix mariadb)/bin/mysqladmin -u root password hunter2
juga tidak berfungsi, memberikan kesalahan yang berbeda, dan saran yang tidak berhasil untuk saya.Tetapi Anda dapat masuk ke mysql sekarang tanpa kredensial:
$ mysql
Di sini, metode lama untuk memperbarui tabel pengguna untuk root tidak berfungsi karena "Kolom 'Sandi' tidak dapat diperbarui".
Metode baru menggunakan
alter user
TAPI hanya berfungsi setelah Anda melakukannyaflush privileges;
lakukan itu terlebih dahulu.Kemudian:
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'hunter2';
(
MariaDB [(none)]>
adalah prompt MySQL di sini)Kemudian lakukan
flush privileges;
lagi.Keluar dari klien MySQL.
Sekarang sejauh menyangkut brew, MariaDB masih tidak berjalan, jadi gunakan
$ ps aux | grep -i mariadb
untuk menemukan pid dan$ kill -9 <pid>
itu.Kemudian gunakan
$ brew services start mariadb
untuk memulainya lagi.sumber
Gunakan file init untuk memulai mysql untuk mengubah kata sandi root.
Kata sandi root Anda sekarang diubah. Pastikan untuk mematikan server dengan benar untuk menyimpan perubahan kata sandi. Di jendela terminal baru, jalankan
dan masukkan kartu baru Anda.
Mulai layanan Anda dan hapus file init
Diuji pada mysql versi 8.0.19
sumber