2016-07-11 15 views
1

すべての類似または同一の質問(例:thisおよびthis)は問題を解決できませんでした。ユーザー 'root' @ 'localhost'のアクセスが拒否されました

私はXenialを使用しており、MySQL 5.7.12を使用しています。私はインストール中にパスワードを設定することを覚えていません(尋ねられれば空のパスワードを提供しました)。

--skip-grant-tablesを使用してパスワードをリセットしようとしましたが、hereと記載されていますが、データベースの行は更新されましたがログインできません。

Checking if update is needed. 
This installation of MySQL is already upgraded to 5.7.12, use --force if you still need to run mysql_upgrade 
$ sudo dpkg-reconfigure --force mysql-server-5.7 
Checking if update is needed. 
This installation of MySQL is already upgraded to 5.7.12, use --force if you still need to run mysql_upgrade 

任意のアイデア:

何もしませんsudo dpkg-reconfigure mysql-server-5.7で再設定、私はこれを取得しますか?

+0

端末、 'mysql -u root -p' – Simoroshka

答えて

1

正しく再インストールされました。関連するすべてのものを削除しましたが(this instruction)、mysqlのバージョンを指定することが重要です(例:apt-get --yes purge mysql-server-5.7 mysql-client-5.7)。mysql-commonとすべての依存関係も削除されました。

その後、もう一度インストール(apt-get install mysql-server mysql-client)して、パスワードを要求されたときは、私はそれを与えました。それは今働く。

2

MySQL 5.7はインストール時にランダムなルートパスワードを生成します。

これは、MySQL 5.7.4での新しい変化であった、とリリースノートに記載:https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-4.html

インストールプロセスは、単一のルートアカウントを作成し、 「ルート」「localhost」の@、自動的に生成この アカウントのランダムなパスワードであり、パスワードの有効期限が切れていることを示します。 MySQL管理者は、ランダムパスワードを使用して をrootとして接続し、SET PASSWORDを に設定して新しいパスワードを選択する必要があります。 (ランダムなパスワードは スクリプトを実行している実効ユーザのホームディレクトリにある .mysql_secretファイルに含まれています。)

私は.mysql_secretファイルを見つけることはありませんが、ランダムなパスワードもMySQLで出力されますエラーログ(Linuxの/var/log/mysqld.logなど)。この通知は次のようになります。

2016-07-11T15:59:54.922316Z 1 [Note] A temporary password is generated for [email protected]: f14_W1lN7FfP 
+0

お知りになりたい!私が残している唯一の問題は、ログファイルが空であることです。 – Simoroshka

1

あなたは私がやったすべてを再インストールすることができます。私は最初にmacosパッケージインストーラを使ってインストールしました。それは私をどこにも連れてこなかった。

これですべてがアンインストールされ、次にbrewがアップグレードされ、brewを介してインストールされました。 mysqlシェルを実行すると、面倒な事が判明しました。最終的に働いたのはmysql -u root -pでした。

私はlocalhost上で実行していましたので、ルートパスワードは必要ではありませんでした。奇妙なことに、mysql -u root -p <password>が「アクセス拒否」メッセージを投げた。

関連する問題