mysql -u rootは機能しませんが、sudo mysql -u rootは機能します、なぜですか?


9

私は最近いくつかのチュートリアルに従って、sudo apt-get install mysql-server-5.7を使用してmysqlをインストールしました

次のコマンドを実行すると、パスワードを使用してデータベースに接続できます。

sudo mysql -u root -p

私は実行して接続しようとします:

mysql -u root -p

しかし、私はエラーが出ます:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

どうして?どうすれば修正できますか?


2
親愛なる反対投票者、あなたは反対投票の理由を落とすこともできます。
user1379280 2018年

これは関連している可能性があります。答えのいくつかを見てみましょう。 askubuntu.com/questions/766334/...
テランス

インストール中にmysqlのrootパスワードを設定しましたか?
Steeldriver、

@steeldriver:はい、私がやりました
user1379280

回答:


23
  1. sudoによるアクセス: sudo mysql -u root -p
  2. rootユーザーを削除します。 drop user 'root'@'localhost';
  3. rootユーザーを再度作成します。 create user 'root'@'%' identified by 'your_password';
  4. 権限を与える: grant all privileges on *.* to 'root'@'%' with grant option;
  5. 権限テーブルを更新します。 flush privileges;
  6. MYSQLを終了し、sudoなしで再接続を試みます。

フォント:ubuntu 16.04の通常のユーザーアカウントからmysqlユーザーrootとしてログインできない


ありがとう!これらの手順は私にとっても機能し、sudomysqlを使用する必要はありません。ホストlocalhostを置き換える%ことで問題が解決したようです。
Vikram Hosakote、

しかし、リモートからはアクセスできません
Ciasto piekarz

うまくいきませんでした。今はsudoの有無に関係なく入ることができません。
David Powell
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.