Saya perlu mengatur ulang kata sandi root instalasi mysql lokal saya tetapi tidak mengizinkan saya. Saya sudah mencoba ini:
$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]
[1]- Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
[2]+ Exit 1 sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
reg@regDesktopHome:~$ sudo mysqld --skip-grant-tables &
[1] 13651
reg@regDesktopHome:~$ 140627 19:02:02 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
reg@regDesktopHome:~$ mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
reg@regDesktopHome:~$ sudo mysql -u root mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[1]+ Exit 1 sudo mysqld --skip-grant-tables
Bagaimana saya bisa mendapatkan ulang kata sandi? sunting 1 Saya mendapat ini:
$ ps ax| grep mysql
16515 ? Ssl 0:00 /usr/sbin/mysqld
16551 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ sudo kill -9 16515
reg@regDesktopHome:~/semios/v3upgrade$ ps ax| grep mysql
16678 ? Ssl 0:00 /usr/sbin/mysqld
16715 pts/23 S+ 0:00 grep --color=auto mysql
reg@regDesktopHome:~/semios/v3upgrade$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Sepertinya proses secara otomatis me-restart mysql segera setelah saya membunuhnya ...
dpkg-reconfigure mariadb-server-10.1
berfungsi untuk MariaDB ketika semua solusi lain tidak. Terima kasih untuk ini.dpkg-reconfigure
tidak meminta kata sandi untuk saya .. apakah ada cara untuk memaksanya?Referensi diambil dari blog ini:
Langkah 1: Hentikan Layanan MySQL.
Langkah 2: Bunuh semua yang menjalankan mysqld.
Langkah 3: Memulai mysqld dalam Safe mode.
Langkah 4: Mulai klien mysql
Langkah 5: Setelah berhasil masuk, jalankan perintah ini untuk mengubah kata sandi apa pun.
Langkah 6: Anda dapat memperbarui kata sandi root mysql.
untuk mysql> 5.7 gunakan ini daripada di atas:
Langkah 7: Silakan jalankan perintah ini.
Langkah 8: Keluar dari konsol mysql
Langkah 9: Bunuh mysqld_safe dan mulai mysql
sumber
sudo service mysql stop
, tidaksudo stop mysql
sudo killall mysqld_safe && sudo service mysql start
dan kemudian mencoba masuk lagiALTER USER root IDENTIFIED BY 'NEW_PASSWORD_HERE'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEWPASS';
. Anda dapat membacanya di sini . Secara teoritis (saya tidak mencoba), Anda harus dapat masuk ke mysql tanpa kata sandi jika Anda "sudo su -" menjadi root.ALTER USER ...
- kalau tidak berfungsi, gunakanUPDATE mysql.user SET authentication_string = PASSWORD('NEWPASS'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
Di bawah Ubuntu 16.04 dan
mysql-server-5.7
, jawaban yang benar adalah komentar terakhir dari olafure,dpkg-reconfigure mysql-server-5.7
tidak lagi berfungsi.Sekarang di konsol mysql
>mysql
Mulai kembali yang baik
mysql
proses yangPeriksa kata sandi baru Anda
sumber
mysqld_safe
eksekusi, saya mendapatkan error:Directory '/var/run/mysqld' for UNIX socket file don't exists.
. Jadi saya berlarisudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
dan sisa jawaban di atas berhasil. Apakah ini bug di Ubuntu 16? Saya tidak pernah mengalami semua masalah ini memperbarui kata sandi sebelumnya.Dimulai dengan MySQL 5.7 , saat instalasi awal, jika Anda membiarkan kata sandi kosong, maka untuk pengguna itu, otentikasi akan didasarkan pada
auth_socket
plugin.Cara yang benar untuk mengubah kata sandi adalah:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
sumber
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
--skip-grant-tables
opsi dan lihat solusi ini berfungsi.--skip-grant-tables
opsi saya bahkan tidak bisa login ke MySQL sebagai root. DikatakanERROR 1698 (28000): Access denied for user 'root'@'localhost'
mysqld_safe
) sebagai root tanpa kata sandi. Saya memiliki Ubuntu 18.04 dan mysql-server-5.7. Jawaban ini membantu saya askubuntu.com/a/767252/585252 (lihat bagian bawah)Tidak ada dari sisa jawaban yang tampaknya bekerja untuk saya. Ini solusi saya:
Di sana:
Kemudian:
sumber
2017-05-30T06:33:22.291126Z mysqld_safe Logging to syslog. 2017-05-30T06:33:22.294375Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2017-05-30T06:33:22.296874Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
Ini ada di mysql 5.7 dan ubuntu 18.04 .Buat file dengan ini:
Hentikan server mysql dan jalankan ini:
Periksa di sini untuk perincian lebih lanjut: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
sumber