MySQLのrootパスワードがわかりません。どうやってこれを見つけることができますか?このパスワードが保存されているファイルはありますか?
私はこの リンク を追っていますが、ローカルにdirectadminディレクトリがありません。
@thusharaKのおかげで、私は古いパスワードを知らなくてもrootのパスワードをリセットできた。
Ubuntuでは、私は次のことを行いました。
Sudo service mysql stop
Sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking
その後、新しい端末でmysqlを実行します。
mysql -u root
パスワードを変更するには、次のクエリを実行します。
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;
MySQL 5.7では、mysql.userテーブルフィールドのパスワードフィールドは削除され、現在のフィールド名は 'authentication_string'です。
Mysqlセーフモードを終了し、次のようにしてmysqlサービスを開始します。
mysqladmin shutdown
Sudo service mysql start
ハッシュされたパスワードを見ることはできません。あなたができる唯一のことはそれをリセットすることです!
MySQLを停止します。
Sudo service mysql stop
または
$ Sudo /usr/local/mysql/support-files/mysql.server stop
セーフモードで起動します。
$ Sudo mysqld_safe --skip-grant-tables
(上の行はコマンド全体です)
これはプロセスが終了するまで継続的なコマンドになるので、別のシェル/ターミナルウィンドウを開き、パスワードなしでログインします。
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
MySQL 5.7以降
mysql> use mysql;
mysql> update user set authentication_string=password('password') where user='root';
MySQLを起動します。
Sudo mysql start
または
Sudo /usr/local/mysql/support-files/mysql.server start
あなたの新しいパスワードは 'password'です。
MySQL 5.7以降では、MySQLログファイルにrootが保存されます。
これを試してください。
Sudo grep 'temporary password' /var/log/mysqld.log
あなたはそれを見つけることができません。これはデータベースに格納されています。アクセスするにはrootのパスワードが必要です。また、何らかの方法でアクセスしたとしても、一方向ハッシュでハッシュされます。リセットできます: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Windowsシステムでパスワードをリセットするには、以下の手順に従ってください。
タスクマネージャからMysqlサービスを停止します
テキストファイルを作成して以下のステートメントを貼り付けます
MySQL 5.7.5以前:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
MySQL 5.7.6以降:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword';
mysql-init.txt
として保存し、それを'C' drive
に配置します。
コマンドプロンプトを開き、以下を貼り付けます
C:\> mysqld --init-file=C:\\mysql-init.txt
インストール中にパッケージマネージャがrootパスワードの入力を要求しない限り、デフォルトのrootパスワードは空文字列です。新しくインストールしたサーバーに接続するには、次のように入力します。
Shell> mysql -u root --password=
mysql>
パスワードを変更するには、UNIXシェルに戻って次のように入力します。
Shell> mysqladmin -u root --password= password root
新しいパスワードは「root」です。サーバーに接続します。
Shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
パスワードが変更されました。新しい変数root
を使います。
Shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql>
ビンゴ!何か面白いことをする
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
モーリシー
他の答えに加えて、cpanelインストールでは、mysqlのrootパスワードは/root/.my.cnf
という名前のファイルに格納されています。 (そしてcpanelサービスは変更時にそれをリセットします。そのため、ここでの他の答えは役に立ちません)
あなたは、MySQLのrootパスワードを表示することができます、よく私はMySQL 5.5でそれを試してみましたので、うまく動作するかどうか他の新しいバージョンについて知らないでください
nano ~/.my.cnf
Mysqlサーバーをすぐにインストールした後に使用していたデフォルトのパスワードは、mysql
です。
これは私のために働いた:
端末で次のように入力します
$ Sudo mysql -u root -p
パスワードを入力してください://ただエンターを押してください
mySQL>
mySQLを新しくインストールすることに悩まされた理由の1つは、なぜデフォルトのパスワードが機能しないのか、そしてresetメソッドでも機能しないのかと疑問に思います。 Ubuntu 18では、最新バージョンのmysqlサーバーはデフォルトでrootユーザーにパスワード認証をまったく使用していません。つまり、これはあなたが何を設定しても問題ではないということです。特権のあるソケットからログインすることを期待しています。そう
mysql -u root -p
あなたが正しいパスワードを使用している場合でも、まったく動作しません!!!何を入れてもアクセスが拒否されます。
代わりにあなたが使用する必要があります
Sudo mysql
それはどんなパスワードでもうまくいくでしょう。それからあなたがいったんあなたがタイプインする必要があるなら
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';
その後ログアウトすると、血なまぐさいものがようやくパスワードを受け入れるようになります
MySQLが動作するデータフォルダ内の "hostname" .errファイルで、以下で始まる文字列を探すようにしてください。
"roor @ localhostに一時パスワードが生成されます"
あなたが使用することができます
less /mysql/data/dir/hostname.err
次にスラッシュコマンドに続けて探したい文字列を続けます。
/"A temporary password"
次にnを押して、次の結果に進みます。
手順はMySqlのバージョンによって異なります。使用しているバージョンの説明とまったく同じ手順に従ってください。
ヒント - MySql *のバージョンの説明ページの前にお読みください。
手順5:CMDを実行する代わりに、CDM.exeを呼び出すショートカットをデスクトップに作成します。次にショートカットを右クリックして[管理者として実行]を選択します。
ステップ6:最初に提案されたバージョンのコマンドをスキップして、2番目のコマンド、--defaults-fileパラメーターを持つものを実行します
コマンドを実行した後、すべて問題なければ、CMDウィンドウは開いたままで、ステップ6のコマンドは実行を続けます。単にウィンドウを閉じて(「x」をクリックして)、タスクマネージャからMySQlを強制終了してください。
SQLコマンドでファイルを削除して、MySQLを再起動してください。今すぐパスワードを変更する必要があります。
5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/ja/resetting-permissions.html
...リンク内のバージョンを変更する(5.5、5.6、5.7)
ここで提供された回答は私にはうまくいかないようでした。トリックは次のようになりました。ALTER USER 'root' @ 'localhost' mysql_native_password BY 'test'
(ここで完全な答え: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin- auth_socket / )
システム:
手順:
2つのシェルセッションを開き、1つにLinuxルートユーザーとしてログインし、もう1つにmysql
コマンドにアクセスできる非ルートユーザーとしてログインします。
ルートセッションで、通常のmysqldリスナーを停止し、パスワード認証をバイパスするリスナーを起動します(注:これは、アクセスできるすべてのユーザーとして重大なセキュリティリスクですmysql
コマンドは、パスワードなしでデータベースにアクセスする場合があります。アクティブなシェルセッションを閉じるか、これを行う前にシェルアクセスを無効にすることができます)。
# systemctl stop mysqld
# /usr/sbin/mysqld --skip-grant-tables -u mysql &
非ルートセッションで、mysqlにログインし、mysqlルートパスワードを設定します。
$ mysql
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit;
ルートセッションで、パスワードのないmysqldのインスタンスを終了し、通常のmysqldリスナーをサービスに復元します。
# kill %1
# systemctl start mysqld
非ルートセッションで、上記で設定した新しいルートパスワードをテストします。
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>