Saya harus menggunakan mysqladmin -u root -p shutdown, dengan kata sandi baru.
SL Barth - Reinstate Monica
2
Alur instruksi yang bagus terutama: kemudian jalankan mysql di terminal baru
Mohammed Subhi Sheikh Quroush
8
saya tidak bisa melakukan ini mysql -u root. Ini menunjukkan kesalahanAccess denied
Avinash Raj
4
@AvinashRaj: Coba ini: sudo mysql -u root
Allen Gingrich
Luar biasa. Saya memahami apa yang berfungsi di RHEL 7: Terminal 1: layanan sudo mysql stop sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking Terminal 2: mysql -u root UPDATE mysql.user SET Password = PASSWORD ('kata sandi baru') DI MANA Pengguna = 'root'; PRIVILEGUS FLUSH; mysqladmin -u root -p shutdown Catatan: Setelah Anda mematikan mysqladmin, Anda akan melihat safe mode keluar di Terminal 1. sudo service mysql start Itu dia dan berfungsi seperti pesona dengan kata sandi baru!
Pengguna StackOverFlow
65
Anda tidak dapat melihat kata sandi hash; satu-satunya hal yang dapat Anda lakukan adalah meresetnya!
sudo /usr/local/mysql/support-files/mysql.server stop sudo: /usr/local/mysql/support-files/mysql.server: perintah tidak ditemukan
Isuru
Apa yang harus dilakukan dalam kasus ini?
Isuru
Sepertinya mysql tidak diinstal dengan benar. Hapus instalan dengan benar dan instal ulang.
tk_
Terima kasih banyak. Sesuatu yang aneh dengan saya mysql_secure_installationdan root tidak lagi bekerja sama. Apa yang dilakukan authentication_stringpengaturan?
akan
3
Untuk memulai kembali, coba mysqladmin -u root -p shutdowndengan kata sandi yang baru kemudiansudo service mysql start
forumulator
37
MySQL 5.7 ke atas menyimpan root di file log MySQL.
Dalam kasus saya, kata sandi tidak ada di sini; namun, sebaliknya, /var/log/mysql/error.logberisi peringatan tentang kata sandi root yang kosong - jadi ini menyelamatkan hari saya :)
Janaka Bandara
19
satu hal yang membuat saya tersandung pada pemasangan baru mySQL dan bertanya-tanya mengapa saya tidak bisa mendapatkan kata sandi default untuk bekerja dan mengapa bahkan metode reset di mana tidak berfungsi. nampaknya pada Ubuntu 18 versi terbaru dari server mysql tidak menggunakan auth kata sandi sama sekali untuk pengguna root secara default. Jadi ini berarti apa pun yang Anda atur, tidak akan membiarkan Anda menggunakannya. ia mengharapkan Anda untuk masuk dari soket istimewa. begitu
mysql -u root -p
tidak akan berfungsi sama sekali, bahkan jika Anda menggunakan kata sandi yang benar !!! itu akan menolak akses tidak peduli apa yang Anda masukkan.
Sebaliknya, Anda harus menggunakan
sudo mysql
itu akan berfungsi dengan kata sandi apa pun. maka setelah Anda masuk, Anda perlu mengetik
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'Password you want to use';
kemudian logout dan sekarang yang berdarah akhirnya akan menerima kata sandi Anda
Anda tidak dapat menemukannya. Itu disimpan dalam database, yang Anda butuhkan untuk mengakses kata sandi root, dan bahkan jika Anda mendapatkan akses entah bagaimana, itu hash dengan hash satu arah. Anda dapat mengatur ulang: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
bekerja di Centos7 mysqld --init-file=/root/m.txt. Saya menambahkan perintah di atas SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');ke /root/m.txt
Damodar Bashyal
8
Kecuali manajer paket meminta Anda mengetikkan kata sandi root selama instalasi, kata sandi root default adalah string kosong. Untuk terhubung ke server yang baru diinstal, ketik:
shell> mysql -u root --password=
mysql>
Untuk mengubah kata sandi, dapatkan kembali shell unix dan ketik:
Ups, kata sandi telah berubah. Gunakan yang baru, root:
shell> mysql -u root --password=root...
blah, blah, blah : mysql welcome banner
...
mysql>
Bingo! Baru lakukan sesuatu yang menarik
mysql> show databases;+--------------------+|Database|+--------------------+| information_schema || mysql || performance_schema |+--------------------+3rowsinset(0.00 sec)
itu tidak menggunakan kata sandi tetapi soket yang diautentikasi secara default sekarang. jadi hanya mengubah kata sandi tidak cukup baik lagi.
Kit Ramos
7
Sebagai tambahan untuk jawaban lain, dalam instalasi cpanel, kata sandi root mysql disimpan dalam file bernama /root/.my.cnf. (dan layanan cpanel menyetelnya kembali saat perubahan, sehingga jawaban lain di sini tidak akan membantu)
Anda dapat melihat kata sandi root mysql, yah saya sudah mencobanya di mysql 5.5 jadi tidak tahu tentang versi baru lainnya yang berfungsi dengan baik atau tidak
tampaknya server mysql tidak menggunakan kata sandi auth secara default lagi. Anda harus memulai klien mysql sebagai pengguna super (sudo) untuk mendapatkan akses hingga Anda mengubah metode login.
Kit Ramos
4
Kata sandi default yang berfungsi untuk saya setelah instalasi segera server mysql adalah: mysql
mungkin dia tidak menjawab pertanyaan, tetapi banyak orang yang datang ke sini mungkin menemukan itu menyelesaikan masalah mereka.
Ohad Cohen
3
Prosedurnya berubah tergantung versi MySql. Ikuti prosedur persis seperti yang dijelaskan untuk versi Anda:
PETUNJUK - Baca sebelum halaman instruksi untuk versi MySql Anda *
Pada langkah 5: Alih-alih menjalankan CMD, buat pintasan di desktop Anda memanggil CDM.exe. Kemudian klik kanan pada shortcut dan pilih "Execute as Administrator".
Pada langkah 6: Lewati versi yang diusulkan pertama dari perintah dan jalankan yang kedua, yang dengan parameter --defaults-file
Setelah Anda menjalankan perintah, jika semuanya baik-baik saja, jendela CMD tetap terbuka dan perintah langkah 6 terus dijalankan. Cukup tutup jendela (klik 'x'), lalu paksa tutup MySQl dari Task Manager.
Hapus file dengan perintah SQL, dan mulai lagi MySQL. Kata sandi harus diubah sekarang.
Jawaban yang diberikan di sini tampaknya tidak berfungsi untuk saya, triknya ternyata: ALTER USER 'root' @ 'localhost' DIIDENTIFIKASI DENGAN mysql_native_password OLEH 'test';
Buka dua sesi shell, masuk ke satu sebagai pengguna root Linux dan yang lainnya sebagai pengguna non-root dengan akses ke mysqlperintah.
Di sesi root Anda, hentikan pendengar mysqld normal dan mulai pendengar yang melewati otentikasi kata sandi ( catatan: ini adalah risiko keamanan yang signifikan karena siapa pun yang memiliki akses ke mysql
perintah dapat mengakses database Anda tanpa kata sandi. Anda mungkin ingin menutup sesi shell aktif dan / atau nonaktifkan akses shell sebelum melakukan ini):
# systemctl stop mysqld # /usr/sbin/mysqld --skip-grant-tables -u mysql &
Di sesi non-root, masuk ke mysql dan setel kata sandi root mysql:
Saya memecahkan ini dengan cara yang berbeda, ini mungkin lebih mudah bagi sebagian orang.
Saya melakukannya dengan cara ini karena saya mencoba memulai dalam safe mode tetapi tidak dapat terhubung dengan kesalahan: ERROR 2002 (HY000): Tidak dapat terhubung ke server MySQL lokal melalui socket '/var/run/mysqld/mysqld.sock' (2)
Apa yang saya lakukan adalah terhubung secara normal sebagai root:
Mencoba mengubah kata sandi tidak memberi saya kesalahan tetapi tidak melakukan apa pun untuk saya, jadi saya menjatuhkan dan menciptakan kembali pengguna root
mysql>dropuser'root'@'localhost;
mysql> mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'mypassword'withgrantoption;
Pengguna root sekarang bekerja dengan kata sandi baru
Jawaban:
terima kasih kepada @thusharaK saya bisa mengatur ulang kata sandi root tanpa mengetahui kata sandi lama.
Di ubuntu saya melakukan hal berikut:
Kemudian jalankan mysql di terminal baru:
Dan jalankan pertanyaan berikut untuk mengubah kata sandi:
Di MySQL 5.7, bidang kata sandi di bidang tabel mysql.user telah dihapus, sekarang nama bidangnya adalah 'authentication_string'.
Keluar dari safe mode mysql dan mulai layanan mysql dengan:
sumber
mysqladmin -u root -p shutdown
, dengan kata sandi baru.mysql -u root
. Ini menunjukkan kesalahanAccess denied
Anda tidak dapat melihat kata sandi hash; satu-satunya hal yang dapat Anda lakukan adalah meresetnya!
Hentikan MySQL:
atau
Mulai dalam mode aman:
(baris di atas adalah seluruh perintah)
Ini akan menjadi perintah yang sedang berlangsung sampai proses selesai jadi buka jendela shell / terminal lain, masuk tanpa kata sandi:
MySQL 5.7 dan lebih tinggi:
Mulai MySQL:
atau
Kata sandi baru Anda adalah 'kata sandi'.
sumber
mysql_secure_installation
dan root tidak lagi bekerja sama. Apa yang dilakukanauthentication_string
pengaturan?mysqladmin -u root -p shutdown
dengan kata sandi yang baru kemudiansudo service mysql start
MySQL 5.7 ke atas menyimpan root di file log MySQL.
Silakan coba ini:
sumber
/var/log/mysql/error.log
berisi peringatan tentang kata sandi root yang kosong - jadi ini menyelamatkan hari saya :)satu hal yang membuat saya tersandung pada pemasangan baru mySQL dan bertanya-tanya mengapa saya tidak bisa mendapatkan kata sandi default untuk bekerja dan mengapa bahkan metode reset di mana tidak berfungsi. nampaknya pada Ubuntu 18 versi terbaru dari server mysql tidak menggunakan auth kata sandi sama sekali untuk pengguna root secara default. Jadi ini berarti apa pun yang Anda atur, tidak akan membiarkan Anda menggunakannya. ia mengharapkan Anda untuk masuk dari soket istimewa. begitu
tidak akan berfungsi sama sekali, bahkan jika Anda menggunakan kata sandi yang benar !!! itu akan menolak akses tidak peduli apa yang Anda masukkan.
Sebaliknya, Anda harus menggunakan
itu akan berfungsi dengan kata sandi apa pun. maka setelah Anda masuk, Anda perlu mengetik
kemudian logout dan sekarang yang berdarah akhirnya akan menerima kata sandi Anda
sumber
Anda tidak dapat menemukannya. Itu disimpan dalam database, yang Anda butuhkan untuk mengakses kata sandi root, dan bahkan jika Anda mendapatkan akses entah bagaimana, itu hash dengan hash satu arah. Anda dapat mengatur ulang: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
sumber
Ikuti langkah-langkah ini untuk mengatur ulang kata sandi di sistem Windows
Hentikan layanan Mysql dari task manager
Buat file teks dan rekatkan pernyataan di bawah ini
Simpan sebagai
mysql-init.txt
dan letakkan di'C' drive
.Buka command prompt dan rekatkan yang berikut ini
C:\> mysqld --init-file=C:\\mysql-init.txt
sumber
mysqld --init-file=/root/m.txt
. Saya menambahkan perintah di atasSET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
ke /root/m.txtKecuali manajer paket meminta Anda mengetikkan kata sandi root selama instalasi, kata sandi root default adalah string kosong. Untuk terhubung ke server yang baru diinstal, ketik:
Untuk mengubah kata sandi, dapatkan kembali shell unix dan ketik:
Kata sandi baru adalah 'root'. Sekarang terhubung ke server:
Ups, kata sandi telah berubah. Gunakan yang baru,
root
:Bingo! Baru lakukan sesuatu yang menarik
Maurycy
sumber
Sebagai tambahan untuk jawaban lain, dalam instalasi cpanel, kata sandi root mysql disimpan dalam file bernama
/root/.my.cnf
. (dan layanan cpanel menyetelnya kembali saat perubahan, sehingga jawaban lain di sini tidak akan membantu)sumber
Anda dapat melihat kata sandi root mysql, yah saya sudah mencobanya di mysql 5.5 jadi tidak tahu tentang versi baru lainnya yang berfungsi dengan baik atau tidak
sumber
Ini bekerja untuk saya:
Pada terminal ketik berikut ini
$ sudo mysql -u root -p
Masukkan kata kunci:// cukup tekan enter
mysql>
sumber
Kata sandi default yang berfungsi untuk saya setelah instalasi segera server mysql adalah:
mysql
sumber
Prosedurnya berubah tergantung versi MySql. Ikuti prosedur persis seperti yang dijelaskan untuk versi Anda:
PETUNJUK - Baca sebelum halaman instruksi untuk versi MySql Anda *
Pada langkah 5: Alih-alih menjalankan CMD, buat pintasan di desktop Anda memanggil CDM.exe. Kemudian klik kanan pada shortcut dan pilih "Execute as Administrator".
Pada langkah 6: Lewati versi yang diusulkan pertama dari perintah dan jalankan yang kedua, yang dengan parameter --defaults-file
Setelah Anda menjalankan perintah, jika semuanya baik-baik saja, jendela CMD tetap terbuka dan perintah langkah 6 terus dijalankan. Cukup tutup jendela (klik 'x'), lalu paksa tutup MySQl dari Task Manager.
Hapus file dengan perintah SQL, dan mulai lagi MySQL. Kata sandi harus diubah sekarang.
5.0 http://dev.mysql.com/doc/refman/5.0/id/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
... cukup ubah versi di tautan (5.5, 5.6, 5.7)
sumber
Di file .err "hostname" Anda di dalam folder data yang berfungsi untuk MySQL, coba cari string yang dimulai dengan:
"Kata sandi sementara dihasilkan untuk roor @ localhost"
kamu bisa memakai
kemudian perintah slash diikuti oleh string yang ingin Anda cari
Kemudian tekan n, untuk pergi ke hasil Berikutnya.
sumber
Jawaban yang diberikan di sini tampaknya tidak berfungsi untuk saya, triknya ternyata: ALTER USER 'root' @ 'localhost' DIIDENTIFIKASI DENGAN mysql_native_password OLEH 'test';
(jawaban lengkap di sini: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/ )
sumber
Sistem:
Prosedur:
Buka dua sesi shell, masuk ke satu sebagai pengguna root Linux dan yang lainnya sebagai pengguna non-root dengan akses ke
mysql
perintah.Di sesi root Anda, hentikan pendengar mysqld normal dan mulai pendengar yang melewati otentikasi kata sandi ( catatan: ini adalah risiko keamanan yang signifikan karena siapa pun yang memiliki akses ke
mysql
perintah dapat mengakses database Anda tanpa kata sandi. Anda mungkin ingin menutup sesi shell aktif dan / atau nonaktifkan akses shell sebelum melakukan ini):# systemctl stop mysqld
# /usr/sbin/mysqld --skip-grant-tables -u mysql &
Di sesi non-root, masuk ke mysql dan setel kata sandi root mysql:
$ mysql
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit;
Di sesi root Anda, bunuh instance mysqld tanpa kata sandi dan kembalikan pendengar mysqld yang normal ke layanan:
# kill %1
# systemctl start mysqld
Dalam sesi non-root Anda, uji kata sandi root baru yang Anda konfigurasi di atas:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>
sumber
Saya memecahkan ini dengan cara yang berbeda, ini mungkin lebih mudah bagi sebagian orang.
Saya melakukannya dengan cara ini karena saya mencoba memulai dalam safe mode tetapi tidak dapat terhubung dengan kesalahan: ERROR 2002 (HY000): Tidak dapat terhubung ke server MySQL lokal melalui socket '/var/run/mysqld/mysqld.sock' (2)
Apa yang saya lakukan adalah terhubung secara normal sebagai root:
Lalu saya membuat pengguna super baru:
Kemudian masuk sebagai pengguna saya
Mencoba mengubah kata sandi tidak memberi saya kesalahan tetapi tidak melakukan apa pun untuk saya, jadi saya menjatuhkan dan menciptakan kembali pengguna root
Pengguna root sekarang bekerja dengan kata sandi baru
sumber
Buka phpMyAdmin> config.inc.php> $ cfg ['Server'] [$ i] ['kata sandi'] = '';
sumber
phpmyadmin
.