2017-02-17 56 views
0

我已經安裝mysql-server通過sudo apt-get install mysql-serverMySQL:無法登錄到DB沒有sudo(mysql-server-5.7)

不,當我想用​​mysql -u root -p登錄時我收到消息ERROR 1698 (28000): Access denied for user 'root'@'localhost'

但是,當我登錄sudo mysql -u root -p有可能,一切工作正常。

我需要解決什麼問題,我可以在沒有sudo命令的情況下登錄到mysql?

+0

登錄爲root帳戶的用戶,那麼你可以在不運行任何命令'sudo' –

回答

0

這是一個權限問題,並按預期工作:默認情況下,只有root用戶可以執行mysql守護進程。

要允許它爲其他用戶,拋出一個命令:

sudo chmod -R 755 /var/lib/mysql/ 

之後,你必須重新啓動MySQL守護進程。根據您的Linux內核,嘗試其中之一:

/etc/init.d/mysqld restart 

service mysqld restart 

注意,這一切是不是必要的,會降低安全性。我沒有看到爲什麼用戶需要用普通用戶執行mysql,除了可能在共享服務器上運行多個mysql實例並在每個用戶的控制下運行。

+0

謝謝您的回答,其實這個問題是一個稍微不同的一個,我張貼解決我的問題的答案。 – meandeveloper111

0

我面臨同樣的問題與5.7

因爲普通用戶不具有權限的獲取訪問mysql的 ..

開放的mysql:

須藤的mysql -u根-P

創建新用戶並向該用戶添加所有權限:

替換用戶名和密碼accordin克到你的需要。更換AVI和avi123

CREATE USER 'avi'@'localhost' IDENTIFIED BY 'avi123'; 

GRANT ALL PRIVILEGES ON *.* TO 'avi'@'localhost' WITH GRANT OPTION; 

FLUSH PRIVILEGES;