經常會發現有很多人出現數據庫訪問被拒絕的問題,這種情況一般多發於新版的(ubuntu18.04)ubuntu系統上,其他的linux也可能會出現這樣的問題,比如deepin(超讚的國產Linux系統),Manjaro系統等,
問題報錯如下:
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
這裏使用deepin系統進行解決:
1,我們需要進入到mysql數據庫中的配置信息裏,查看初始的用戶名和密碼路徑爲:
/etc/mysql/deban.cnf
2,打開後可以看到初始的數據庫用戶名和密碼:
sudo more deban.cnf
3, 接下來我們就可以通過用戶名和密碼進入數據庫了:
mysql -udebian-sys-maint -pYud65aOMNAS0qTNE
4,接下來我們進入名爲mysq的l數據庫中,並添加新的用戶名和密碼:
use mysql;
update mysql.user set authentication_string=password('你要設置的密碼') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
5, 然後刷新數據庫,使修改生效,並退出數據庫:
flush privileges;
quit;
6, 最後,我們使用新的數據庫的用戶名和密碼進行登錄即可:
mysql -uroot -pmysql
ok,這樣就完成數據庫的訪問啦!