2015-11-30 10 views
23

のデフォルトルートpasword何ですか行うは、新鮮なルートIDおよび他の古いMySQLバージョンのような空/パスワードなしでインストールした後、MySQLデータベースにログインできないのMySQL 5.7

+0

ルートはもはやhそれは1つを使用しないので1つとして。デフォルトでauthメソッドはauth socketです。 sudoを使ってrootアクセスでアクセスし、authメソッドをpasswordに変更し、rootシステムアクセスなしでroot lmysql ooginが必要な場合はパスワードを設定します。 –

+0

@ G.Martinあなたはこのコメントをより詳細なステップを含む回答に展開してもよろしいですか?これは私が使いたいソリューションだと思うが、authメソッドをどのように変更するのか分からない。 ( 'sudo mysql -u root'は私のために働きます - パスワードを使わずに' mysql -u root'を実行できるように変更したい) –

+0

申し訳ありませんあなたはすでにこれを考え出したでしょうが、私の投稿はdebianディストリビューション。 まだ問題が残っている場合(疑問がある場合)、私は詳細を提供することができます。 –

答えて

63

あなたは、新鮮な上からのMySQLコミュニティサーバ5.7をインストールした後、 linuxの場合は、/var/log/mysqld.logの一時パスワードをrootとしてログインする必要があります。あなたは(私の場合のansibleのように)、MySQLや無人perconaをインストールしたい場合はhttp://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

+4

ありがとうございます! OracleのMySQL 5.7文書ではなく、ここでこの情報を見つけるのは夢中です。 – maddin2code

+6

これは私の人生を節約しています...どこでもソリューションを探していて、これは私のすべての問題を解決します。 mysqlウェブサイトからのドキュメントでさえこれについて言及していませんでした。これはクレイジーな男です。ありがとう! – nodeffect

+1

Windowsマシンではどこを見ますか? – rotaercz

4

は、あなたが使用することができます:

REF

  1. grep 'temporary password' /var/log/mysqld.log
  2. 実行mysql_secure_installationは、新しいパスワードを変更するには次のスクリプト:

    # first part opens mysql log 
    # second part greps lines with temporary password 
    # third part picks last line (most recent one) 
    # last part removes all the line except the password 
    # the result goes into password variable 
    
    password=$(cat /var/log/mysqld.log | grep "A temporary password is generated for" | tail -1 | sed -n 's/.*[email protected]: //p') 
    
    # setting new password, you can use $1 and run this script as a file and pass the argument through the script 
    
    newPassword="[email protected]" 
    
    # resetting temporary password 
    
    mysql -uroot -p$password -Bse "ALTER USER 'root'@'localhost' IDENTIFIED BY '$newPassword';" 
    
関連する問題