用root使用者連接配接MySQL 資料庫報"ERROR 1698 : Access denied for user ‘root’@‘localhost’" 錯誤。
MySQL 5.7版本不能使用指令行代碼
mysql -u root -p
進入,也不能使用直接
mysql
進入,但是可以通過指令
sudo mysql
進入,想通過
mysql -u root -p
可以如下解決:
$ sudo mysql -u root # I had to use “sudo” since is new installation
mysql> USE mysql;
mysql> SELECT User, plugin FROM mysql.user;
±-----------------±----------------------+
| User | plugin |
±-----------------±----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password
±-----------------±----------------------+
mysql> UPDATE user SET authentication_string=PASSWORD('123456') where User='root';
mysql> UPDATE user SET plugin=‘mysql_native_password’ WHERE User=‘root’;
mysql> select host,user,plugin from user;
+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | mysql_native_password |
| localhost | mysql.sys | mysql_native_password |
| localhost | debian-sys-maint | mysql_native_password |
+-----------+------------------+-----------------------+
5 rows in set (0.00 sec)
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ sudo service mysql restart
參考連結:MySQL-1698 : Access denied for user ‘root’@'localhost’解決方法
ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’