2017-02-17 6 views
0

sudo apt-get install mysql-serverからmysql-serverをインストールしました。MySQL:sudoなしでDBにログインすることはできません(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

ログインを交換し、あなたがsudo' 'なしであなたの答えのための –

答えて

0

これは許可の問題であり、意図したとおりに動作します。デフォルトでは、rootのlinuxユーザのみがmysqlデーモンを実行できます。

そのコマンドを投げ、他のユーザーのためにそれを許可するには:その後

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

を使用すると、MySQLのデーモンを再起動する必要があります。 Linuxカーネルに応じて、これらのいずれかを試してみてください。このすべてが必要ではなく、セキュリティが低下します

/etc/init.d/mysqld restart 

または

service mysqld restart 

注意を。 mysqlのいくつかのインスタンスが各ユーザの制御下で動作している共有サーバを除いて、通常のユーザでmysqlを実行しなければならない理由はありません。

+0

おかげで任意のコマンドを実行することができ、私は私の問題を解決する答えを掲載しました。 – meandeveloper111

0
私は、通常のユーザーがアクセス を得るためにpriviledgesを持っていない5.7

のでmysqlのと同じ問題に直面していた

..

オープンのmysql:

のsudoのmysql -uルート-P

新しいユーザーを作成し、そのユーザーにすべての権限を追加します。

ユーザー名とパスワードを変更してくださいaccordinあなたの必要に応じてg。実際に問題が若干異なるものだったrootアカウントのユーザーとしてaviファイルとavi123

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

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

FLUSH PRIVILEGES; 
関連する問題