Hari ini, saya ingin membuat database di PMA. Bunyinya: "Tidak bisa masuk ke server MySQL". Saya mencoba melalui terminal, masalah yang sama, dan itu karena kata sandi saya salah. Dan saya tidak mengerti mengapa.
Saya mencoba metode yang biasa untuk mengatur ulang kata sandi root (lewati tabel hibah untuk pemasangan dan setel ulang passord) tetapi tampaknya tidak berhasil.
Lihat itu:
morgan@rakija:~$ sudo mysqld_safe --skip-grant-tables &
[1] 14016
morgan@rakija:~$ 150802 19:07:25 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect.
150802 19:07:25 mysqld_safe Logging to '/var/log/mysql/error.log'.
150802 19:07:25 mysqld_safe A mysqld process already exists
[1]+ Terminé 1 sudo mysqld_safe --skip-grant-tables
morgan@rakija:~$ mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.0.20-MariaDB-0ubuntu0.15.04.1 (Ubuntu)
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> update user set password=PASSWORD("newPass") where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
Bye
morgan@rakija:~$ sudo service mysql restart
morgan@rakija:~$ mysql -uroot -pnewPass
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
. Jadi solusi terbaik adalah tetap menggunakan otentikasi unix socket default dengan perintahsudo mysql -u root
, yang menurut saya juga lebih aman dan performant.Dari jawaban ini, http://ubuntuforums.org/showthread.php?t=2275033&p=13272227#post13272227 .
Mysql mencoba untuk mengotentikasi root menggunakan plugin, bukan kata sandi. Anda harus menonaktifkan penggunaan plugin untuk root.
sumber
Could not open mysql.plugin table.
di log kesalahan.Hubungkan seperti yang dijelaskan sebelumnya:
File log akan ditampilkan:
Log pencarian terdaftar (dalam hal ini: /usr/local/mysql/data/ab123456.domain.com.err) untuk socket kanan:
dan menggunakannya dalam koneksi mysql:
sumber
$ mysqld_safe --skip-grant-tables 190818 14:13:35 mysqld_safe Logging to '/usr/local/var/mylaptop.local.err'. 190818 14:13:35 mysqld_safe Starting mysqld daemon with databases from /usr/local/var
tetapi saya baru saja kembali ke bash prompt.Secara default marriadb menggunakan plugin autentikasi "unix_socket" untuk menetapkan kata sandi, ini harus "mysql_native_password" jadi
beralih basis data ..
pertama kali lihat plugin penyihir diatur ..
setel ke "mysql_native_password"
setel kata sandi baru ...
sumber