MySQLルートパスワードをリセットまたは変更するにはどうすればよいですか?


179

ubuntuサーバーでMySQLルートパスワードとユーザー名を変更するにはどうすればよいですか?変更を設定する前にmysqlサービスを停止する必要がありますか?

phpmyadminもセットアップしていますが、phpmyadminは自動的に更新されますか?


:あなたがデータを必要としない場合は、その全体でMySQLを削除することで、パスワードを「リセット」することができますstackoverflow.com/questions/10853004/...(それは「新しい」rootパスワードの入力を求めます)FWIW、再びそれをインストールした後: )
rogerdpack '12年

MySQLのrootパスワードを知っていますか?
フランクダーノンコート

2
mysql-server-5.7では、これらのメソッドは機能しません。askubuntu.com/a/848504に
Pragalathan M

回答:


225

Ubuntu LinuxでMySQLルートパスワードを設定/変更/リセットします。端末に次の行を入力します。

  1. MySQLサーバーを停止します。 sudo /etc/init.d/mysql stop
  2. mysqld構成を開始します。sudo mysqld --skip-grant-tables &

    場合によっては、/var/run/mysqld最初のものを作成する必要があります。

    sudo mkdir -v /var/run/mysqld && sudo chown mysql /var/run/mysqld
  3. 実行: sudo service mysql start
  4. MySQLにrootとしてログインします。 mysql -u root mysql
  5. YOURNEWPASSWORD新しいパスワードに置き換えます。

    UPDATE
      mysql.user
    SET
      Password = PASSWORD('YOURNEWPASSWORD')
    WHERE
      User = 'root';
    FLUSH PRIVILEGES;
    exit;

注:一部のバージョンでは、password列が存在しない場合、次のことを試してください。
UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';

注:この方法は、パスワードをリセットする最も安全な方法とは見なされていませんが、機能します。

参照:

  1. Ubuntu LinuxでのMySQLルートパスワードの設定/変更/リセット
  2. ルートパスワードをリセットする方法

20
もちろん、この時点で、ステップ2で開始した、パスワードのない一時的なサーバープロセスを強制終了する必要がありsudo killall -9 mysqldます。その後、sudo service mysql start通常のデーモン...再起動します
Lambart

7
この回答の方法は、[ソース ] がわからないMySQLルートパスワードをリセットする場合にのみ必要です。あなたがそれを知っているなら、SET PASSWORDMySQL命令はあなたのためです。
タニアス2014年

53
私は3番目のステップまで続き、ルートを通じてログインすると、ソケット '/var/run/mysqld/mysqld.sock'(2)を介してローカルMySQLサーバーに接続できません
Sushivam

12
いくつかのケースでは、あなたにも実行する必要があるmkdir /var/run/mysqldchown mysql: /var/run/mysqld、ステップ1と2の間
ネビルNazerane

9
ステップ3は、Ubuntu 18.04では機能しませんでした。私はsudo mysql
itols

120

私のために働いた唯一の方法はここで説明されているものです(私はubuntu 14.04を実行しています)。明確にするために、これらは私が従ったステップです:

  1. sudo vim /etc/mysql/my.cnf
  2. 最後に次の行を追加します。

    [mysqld]
    
    スキップ許可表
  3. sudo service mysql restart

  4. mysql -u root

  5. use mysql

  6. select * from mysql.user where user = 'root';-上部を見て、password列が passwordまたはauthentication_stringのどちらであるかを確認

  7. UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and host = 'localhost'; -上から適切なパスワード列を使用します

  8. FLUSH PRIVILEGES;

  9. exit

  10. sudo vim /etc/mysql/my.cnf

  11. セキュリティ基準を維持する場合は、手順2で追加した行を削除します。

  12. sudo service mysql restart

参照用:https : //dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html


8
最後に、これは私のために働いた!MySQL 16.5.7をUbuntu 16.04で実行しています。私はdpkg-reconfigure、Anveshの答え、Christian Markの答え、さらにはMySQLのヘルプページの指示も試しました。
mbuc91 2017年

9
UPDATE mysql.user SET authentication_string = PASSWORD( 'newpwd')WHERE User = 'root';を実行する必要がありました。代わりに5行目
mbuc91

2
私のために働いた唯一の解決策。私はUbuntu 17.04とmysql 5.7を持っています
Mohamed

1
悲しいこれは私にとってはうまくいきませんmysql 5.7.22 ubuntu 18.04
Mario

1
すべてが期待どおりに機能していました。しかし、ログインしようとすると、パスワードを入力してください:エラー1698(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました
Dipak Chatterjee

101

ubuntuサーバーでrootパスワードをリセットする公式で簡単な方法...

16.04、14.04、12.04の場合:

sudo dpkg-reconfigure mysql-server-5.5

10.04を使用している場合:

sudo dpkg-reconfigure mysql-server-5.1

インストールされているmysql-serverのバージョンがわからない場合は、次のことを試してください。

dpkg --get-selections | grep mysql-server

mysql-server-5.7の注記を更新

mysql-server-5.7を使用している場合は、上記の簡単なdpkg-reconfigureメソッドを使用できないことに注意してください。

パスワードがわかっている場合は、ログインして実行します。

UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;

または、以下を使用することもできます。

sudo mysql_secure_installation

これにより、新しいrootパスワードを提供するかどうかなど、インストールのセキュリティ保護に関する一連の質問(強く推奨)が尋ねられます。

rootパスワードがわからない場合は、Ubuntu中心のこのプロセスに関する記事を参照してください

詳細については、次を参照してください。

https://help.ubuntu.com/16.04/serverguide/mysql.html https://help.ubuntu.com/14.04/serverguide/mysql.html


3
元のMySQLルートパスワードを紛失した場合でも機能します。
タニアス14年

4
とのVer 14.14 Distrib 5.5.38, for debian-linux-gnu
連携

mysql v 5.0でも動作します...sudo dpkg-reconfigure mysql-server-5.0
dsghi

4
sudo dpkg-reconfigure mysql-server-5.7がUbuntu 18.04でrootパスワードのリセットに機能しない。他の代替物はありますか?
Jagdeep Singh

Ubuntu:sudo dpkg-reconfigure mysql-server-5.7; sudo mysql_secure_installation
kenorb

77

私のために働いたもの(Ubuntu 16.04、mysql 5.7):

MySQLを停止する

sudo service mysql stop

MySQLサービスディレクトリを作成します。

sudo mkdir /var/run/mysqld

MySQLユーザーにサービスディレクトリへの書き込み権限を付与します。

sudo chown mysql: /var/run/mysqld

権限チェックやネットワーキングなしで、MySQLを手動で起動します。

sudo mysqld_safe --skip-grant-tables --skip-networking &

別のコンソールで、パスワードなしでログインします。

mysql -uroot mysql

次に:

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;

MySQLをオフにします。

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

MySQLサービスを通常どおり開始します。

sudo service mysql start

他の方法は私にとってはうまくいきませんでしたが(これはありがとう!)、またはここに行くこともできますrricketts.com/reset-root-password-mysql-5-7-ubuntu-16-04-lts
Dung

10
非常に便利 !私の特定のケース(Ubuntu 18.04 LTS)では、ホスト '%'を 'localhost'に置き換える必要がありました
FredericK

これはubuntu 18.04では機能しませんでした。しかし、それはこの小さな変更で働いここで説明stackoverflow.com/a/53385753/1591143
アレクポポヴィッチを

76

Linux UbuntuでMySQLパスワードをリセットするための最終的な解決策を段階的に共有しています。

ブログ(dbrnd.com)からの参照

ステップ1:MySQLサービスを停止します。

sudo stop mysql

ステップ2:実行中のmysqldをすべて終了します。

sudo killall -9 mysqld

ステップ3:セーフモードでmysqldを起動します。

sudo mysqld_safe --skip-grant-tables --skip-networking &

ステップ4:MySQLクライアントを起動する

mysql -u root

ステップ5:ログインに成功したら、このコマンドを実行してパスワードを変更してください。

FLUSH PRIVILEGES;

ステップ6:mysql rootパスワードを更新できます。

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

:MySQL 5.7では、カラムPasswordはと呼ばれauthentication_stringます。

ステップ7:このコマンドを実行してください。

FLUSH PRIVILEGES;

確かに。また、公式ドキュメントに近いです。これに遭遇した場合:「エラー1524(HY000):プラグイン 'auth_socket'がロードされていません」、stackoverflow.com
questions / 37879448 /…

また、「localhost」のホストを持つrootユーザーのmysql.user.pluginを「auth_socket」から「mysql_native_password」に変更する必要がありました。
ブランドン、

1
「sudo /etc/init.d/mysql stop」を使用してサービスを停止し、「UPDATE mysql.user SET authentication_string = PASSWORD( 'newpwd')WHERE User = 'root';」を使用する必要がありました。パスワードを更新する
L Bahr 2017

1
認証された_stringが役立つ
Faiyaz Md Abdul 2017

42

私はubuntu 18.04とmysql 5.7で問題に直面しました、これが解決策です

コマンドを実行する前にmysql-serverを再起動してみてください

sudo service mysql restart

MYSQL-SERVER> = 5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

MYSQL-SERVER <5.7

sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

1
おかげで、私はここでもUbuntu 18.04を実行しています。MYSQL-SERVER >= 5.7バージョンは、問題を実際に解決した唯一のものでした
Miguelgraz

1
これは、Ubuntu 18.04 mysqlのインストールで機能したものです。MYSQL-SERVER >= 5.7正確にはバージョン。
Sathish Manohar、

34

MySQLのrootパスワードを変更します。

このメソッドはコマンドライン履歴にパスワードを公開します。これらのコマンドはrootとして実行する必要があります。

  1. mysqlコマンドラインツールからログインします。

    mysql -uroot -poldpassword
  2. 次のコマンドを実行します。

    SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');

または

  1. 次のコマンドを実行して、現在のユーザー(この場合は「root」)のパスワードを設定します。

    SET PASSWORD = PASSWORD( 'newpassword');


26

最初にこのコマンドを実行します:

sudo mysql

次に、MySQLユーザーアカウントのどの認証方法を使用するかを確認する必要があるため、次のコマンドを実行します。

SELECT user,authentication_string,plugin,host FROM mysql.user;

今、あなたはすでにこのようなものを見ることができます:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

上記の表では、すべてのmysqlユーザーアカウントのステータスと、mysql_native_password代わりにプラグイン列に表示される前にrootアカウントのパスワードを設定したことがわかりますauth_socket。結局のところ、実行する必要があるrootパスワードを変更するには:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

パスワードは、選択した強力なパスワードに変更してください。次に、サーバーをリロードして新しい変更を有効にするには、これを実行します。

FLUSH PRIVILEGES;

もう一度、次のコマンドで、mysqlで使用されている認証方法を確認してください。

SELECT user,authentication_string,plugin,host FROM mysql.user;

そして今、出力は:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

あなたが助成金の表に見ることができるようにあなたのrootアカウントを持っていますmysql_native_password 。これでMYSQLシェルを終了できます

exit;

それだけです。mysqlをで再起動する必要がありますsudo service mysql restart。これで、mysqlにrootアカウントとしてパスワードで簡単にログインできます。


これは、DigitalOceanからのものだと思います。これは、Virtual Boxで実行されているUbuntu 18.04で動作する唯一のソリューションでした
Kemal

それはubuntu 18.04で完全に動作します。ありがとう。
mahfuz

12

MySQLルートパスワードを変更する場合は、ターミナルで次のように入力します。

sudo dpkg-reconfigure mysql-server-5.5

MySQLデーモンが停止し、新しいパスワードの入力を求められます。


1
これは、はるかに優れた方法です。mysqlエラーのために前のコマンドを実行できませんでした...
Andy

sudo dpkg-reconfigure mysql-server-5.7 on ubuntu 16.04
Nick Barrett

2
sudo dpkg-reconfigure mysql-server-5.7Ubuntu 16.04で実行しましたが、新しいパスワードの入力を求められませんでした。
フランクダーノンコート

それは言うならばmysql-server is broken or not fully installed、一つは使用することができますsudo apt purge mysql*sudo apt install mysql-server
パベル

12

これは、私がUbuntu 16.04でやった魅力のように機能します。私がそこからそれを得たので、以下のリンクへの完全な信用。[ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts][1]

MySQLを停止する

sudo service mysql stop

MySQLサービスディレクトリを作成します。sudo mkdir / var / run / mysqld

MySQLユーザーにサービスディレクトリへの書き込み権限を付与します。

sudo chown mysql: /var/run/mysqld

権限チェックやネットワーキングなしで、MySQLを手動で起動します。

sudo mysqld_safe --skip-grant-tables --skip-networking &

パスワードなしでログインします。

mysql -uroot mysql

rootユーザーのパスワードを更新します。以下のクエリで少なくともrootアカウントが更新されることを確認してください。いくつか選択して、必要に応じて既存の値を確認します

UPDATE mysql.user SET 
authentication_string=PASSWORD('YOURNEWPASSWORD'), 
plugin='mysql_native_password' WHERE User='root';
EXIT;

MySQLをオフにします。

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

MySQLサービスを通常どおり開始します。

sudo service mysql start

11
  1. MySQL sudoサービスmysql stopを停止します

  2. MySQLサービスディレクトリを作成します。 sudo mkdir / var / run / mysqld

  3. MySQLユーザーにサービスディレクトリへの書き込み権限を付与します。 sudo chown mysql:/ var / run / mysqld

  4. 権限チェックやネットワーキングなしで、MySQLを手動で起動します。 sudo mysqld_safe --skip-grant-tables --skip-networking&

5.パスワードなしでログインします。 mysql -uroot mysql

6. rootユーザーのパスワードを更新します。

UPDATE mysql.user SET authentication_string = PASSWORD( 'YOURNEWPASSWORD')、plugin = 'mysql_native_password' WHERE User = 'root' AND Host = '%'; 出口;

  1. MySQLをオフにします。 sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

  2. MySQLサービスを通常どおり開始します。 sudoサービスmysql start


1
こんにちは、この答えは私にとってはうまくいきますが、私は別のコマンドを使わなければなりませんでした: UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';なしAND Host='%'。ありがとう!
デビッド

10

このソリューションは、MySQLの以前のバージョンに属しています。ソケット認証を使用してMySQLにログインすると、それを行うことができます。

sudo mysql -u root

その後、次のコマンドを実行できます。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

詳細はこちら


1
ログインできませんでしたが、ログインしてコマンドを実行するsudo mysql -u rootことができました。sudo mysqlALTER USER
itols 2018年

「このパスワードは現在のポリシー要件を満たしていません」というエラーが発生しました。私はここでこれを修正することができました:stackoverflow.com/a/43094873/9073437。変更されたパスワードポリシーを設定した後、すべてが正常に動作しました。
Grandtour

10

これが私の解決策です。私はUbuntu 18.04で働いていますhttps : //stackoverflow.com/a/46076838/2400373

しかし、最後のステップでのこの変更は重要です。

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost'; 

やった!どうもありがとう!これが私の場合に機能していた唯一の方法です。新しくインストールされた5.7をパスワードを要求せずにユーザーに広く公開しているので、その愚かな安全なインストールスクリプトを忘れてください... Linux / Ubuntuが安全を意識したユーザー向けである場合、MySQLサーバーのような重要なアプリケーションを保護するのが難しいのはなぜですか?
Thomas Urban

7

Ubuntu 18.04およびmysqlバージョン14.14 Distrib 5.7.22の場合、以下の手順に従ってmysqlパスワードをリセットします。

ステップ1

sudo systemctl stop mysql

ステップ2

sudo systemctl edit mysql

このコマンドは、nanoエディターで新しいファイルを開きます。これを使用して、MySQLのサービスオーバーライドを編集します。これらは、MySQLのデフォルトのサービスパラメータを変更します。このファイルは空になるため、次のコンテンツを追加します。

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking

ステップ3

sudo systemctl daemon-reload
sudo systemctl start mysql

ステップ4

sudo mysql -u root

手順5

FLUSH PRIVILEGES;

手順6

UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';

手順7

UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';

手順8

sudo systemctl revert mysql

そして最後に

sudo systemctl restart mysql

今お楽しみください


ステップ2のコンテンツを見逃したと思います。これは不完全です。
Lucas Mendes Mota Da Fonseca

6

rogerdpackのコメントをエコーする:MySQLのルートパスワードがわからず、MySQLのデータ/設定を気にしない場合は、次のように再インストールしてルートのパスワードをリセットできます。

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client 

インストール中に、ルートのパスワードを選択できます。

ここに画像の説明を入力してください


2
パスワードをリセットしようとして頭を叩いて1時間も無駄にしたのではなく、ここから始めたといいのですが。
エリックイーストランド2018

3

現在のパスワードがわかっている場合は、mysqlサーバーを停止する必要はありません。ubuntuターミナルを開きます。以下を使用してmysqlにログインします。

mysql - username -p

次に、パスワードを入力します。これにより、mysqlコンソールに移動します。コンソール内で、次のように入力します。

> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

次に、以下を使用して特権をフラッシュします。

> flush privileges;

その後、すべて完了です。


2

PASSWORD()パスワードを変更したいシステムでMySQLを使用すると、MySQLログにクリアテキスト[ ソース ] でパスワードが表示される可能性があります。それら、そのバックアップなどをパスワードと同じくらい安全に保つことは私にとって悪夢のように聞こえるので、私は次のようにそれをしたいです:

  1. あなたにはローカルマシン、パスワードでこれを実行します。

     mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")

    bashの履歴に表示されないように、前のスペースに注意してください(Ubuntu以外のディストリビューションの場合、これは異なる動作をする可能性があります– ソース)。

  2. サーバーマシンで次のコマンドを実行して、MySQLルートパスワードを変更します(myhash最初のコマンドで出力されたパスワードのハッシュに置き換えます)。

    mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
  3. オプションで、少し偏執狂になってみましょう。ローカルマシンで、ターミナル画面をクリアしclearて仮想ターミナルのスクロールバックを消去し、上記のコマンドに表示されるクリアテキストのパスワードを非表示にします。


2

「ルート」Mysqlユーザーパスワードを更新するには、そのためのスーパーユーザー権限が必要であることを覚えておく必要があります。スーパーユーザー権限がある場合は、次のコマンドを試してください。

MySQL 5.7.6以降

sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass

MySQL 5.7.5およびそれ以前

sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass

2

あなたはこれすべてを必要としません。ログインするだけです:

mysql -u root -p

次に、mysql>プロンプトとして現在のユーザーのパスワードを変更します。

mysql> set password=password('the_new_password');
mysql> flush privileges;

1
これが最も簡単な方法です。mysql 5.7.21-0ubuntu0.17.10.1で動作します
Sergio Belevskij

2

このトピックに関する回答のほとんどは古くなっています。この回答を書くまで、MySQLには2つの大きな変更がありました。

1-ユーザーテーブルの「パスワード」フィールドは「authentication_string」列に置き換えられました。

2-「パスワード」暗号化機能:PASSWORD( "of some text")は非推奨です。

詳細については、このリンクを参照してください:dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html


1

phpmyadminパスワードまたはユーザー名を指定せずに接続するように設定している場合、パスワードをリセットする代わりにローカルマシンで回避策があります。起動することによって、このアウトをチェックしmysqlapache私がしているなどxampp、私のローカルマシンにインストールされています。したがって、xamppを開始すると、必要なサービスがすべて開始されます。次にhttp://localhost/phpmyadmin、すべてのデータベースを表示します。これは、phpmyadminインストール場所にあるphpmyadminの設定ファイルにユーザー名とパスワードを保存したことを確認します。xamppインストールした場合phpmyadmin、フォルダはxamppインストールのルートフォルダにあります。ファイル内の単語passwordを検索しconfig.inc.phpます。あなたはそこでしょうpasswordusername


1

提供されているphpadmin guiを使用してxamppにデプロイすると、mysqlパスワードを簡単に変更できます。

phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)

1

mysql 5.6の場合、このコマンドは機能し、ウィザードを使用してパスワードを設定できます。

sudo dpkg-reconfigure mysql-server-5.6

試してみましたが機能しません。次のエラーが発生します。手伝っていただけませんか。このMySQLのインストールはすでに5.7.21にアップグレードされています。mysql_upgradeを実行する必要がある場合は--forceを使用してください
Vijaysinh Parmar

1

mysql 5.7 rootパスワードをリセットするには、次のいくつかの手順を試すことができます。

Mysqlサービスを最初に停止

sudo /etc/init.d/mysql stop 

パスワードなしでルートとしてログイン sudo mysqld_safe --skip-grant-tables

mysql端末にログインした後、さらにコマンドを実行する必要があります。

use mysql;




UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';


flush privileges;


sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

mysqlサーバーを再起動した後も引き続きエラーが発生する場合は、次のURLにアクセスする必要があり ます。MySQL 5.7ルートパスワードのリセットUbuntu 16.04


1

次のコマンドを使用できます。

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

その後、フラッシュを使用してください:

FLUSH PRIVILEGES;

1

MySQLパスワードの設定

  1. MySQLデータベースサービスを停止する

sudo /etc/init.d/mysql stop

  1. 新しいmysqldディレクトリを作成する

sudo mkdir / var / run / mysqld /

  1. mysqlユーザーにアクセス権を与える

sudo chown mysql / var / run / mysqld /

  1. MySQLをセーフモードで起動します...

sudo mysqld_safe --skip-grant-tables&

  1. パスワードなしでデータベースサーバーにログオンする

sudo mysql -u root

  1. デフォルトのmysqlデータベースを使用する

mysqlを使用します。

  1. ルートパスワードを変更する

update user set authentication_string=PASSWORD("New_Passwore_Here") where User = 'root';

  1. 変更を保存します

    特権をフラッシュします。出口;

  2. MySQLのsafe_modeを停止し、MySQLのデフォルトサービスを開始する

sudo /etc/init.d/mysql stop

sudo /etc/init.d/mysql start

  1. rootの新しいパスワードを使用してMySQLデータベースに再度ログオンします

sudo mysql -u root -p

***ソース:https : //websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/


1

「root」ユーザーのパスワードがわかっている場合は、その資格情報でmysqlにログインします。次に、次のクエリを実行してパスワードを更新します。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

0

MySQLパスワードを変更/リセットする場合、上記の次のコマンドは役に立ちませんでした。端末に入ってこれらのコマンドを使用しても意味がないことがわかりました。代わりに、コマンドsudo stop allを使用してください。それが役立つ場合は、Windowsのシステム32を削除します。


1
問題は、ubuntuWindowsではなくOS についてです。Windows用のDELETE SYSTEM 32とはどういう意味ですか?
EhsanT 2017年

0

パスワードをリセットまたは変更するには、sudo dpkg-reconfigure mysql-server-X.X(XXはインストールしたmysqlのバージョン、つまり5.6、5.7)と入力します。次に、新しいパスワードを設定する画面が表示されたら、次のステップでパスワードを確認し、しばらく待ちます。それでおしまい。


0

私はこのルートをUbuntu 16.04.1 LTSで実行する必要がありました。これは、上記の他の回答のいくつかを組み合わせたものですが、どれも役に立ちませんでした。MySql Webサイトから他のすべての提案を1時間以上かけてSOのすべてのものに試してみましたが、ようやく動作しました。

注:ユーザーrootのEnter passwordが表示されていましたが、元のパスワードを持っていなかったため、同じパスワードを入力しました新しいパスワードとして使用されます。

注: /var/log/mysqld.logはなく、/ var / log / mysql / error.logのみ

でした。これは私にとっては機能しませんでした。
sudo dpkg-reconfigure mysql-server-5.7

また、
sudo dpkg-reconfigure --force mysql-server-5.5

MySQLサービスディレクトリを作成しませんでした 。
sudo mkdir /var/run/mysqld

MySQLユーザーにサービスディレクトリへの書き込み権限を付与します。
sudo chown mysql: /var/run/mysqld

次に:

  1. 現在のmysqld pidを終了します
  2. mysqldをsudo / usr / sbin / mysqld&で実行します
  3. / usr / bin / mysql_secure_installationを実行します。mysql_secure_installation

    からの出力

    root @ myServer:〜#/ usr / bin / mysql_secure_installation

    MySQLサーバーデプロイメントの保護。

    ユーザーrootのパスワードを入力してください:

    VALIDATE PASSWORD PLUGINを使用して、パスワードをテストし、セキュリティを向上させることができます。パスワードの強度をチェックし、ユーザーが十分に安全なパスワードのみを設定できるようにします。VALIDATE PASSWORDプラグインをセットアップしますか?

    [はい]の場合はy | Y、[いいえ]の場合はその他のキーを押します:いいえrootに既存のパスワードを使用します。rootのパスワードを変更しますか?((はいの場合はy | Y、いいえの場合はその他のキーを押します):y

    新しいパスワード:

    新しいパスワードの再入力:デフォルトでは、MySQLのインストールには匿名ユーザーがあり、ユーザーアカウントを作成しなくても、誰でもMySQLにログインできます。これはテストのみを目的としており、インストールを少しスムーズにするためのものです。本番環境に移行する前に削除する必要があります。

    匿名ユーザーを削除しますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。

    通常、ルートは「localhost」からの接続のみを許可されるべきです。これにより、誰かがネットワークからrootパスワードを推測できないようになります。

    リモートでrootログインを禁止しますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。

    MySQLにはデフォルトで、誰でもアクセスできる「test」という名前のデータベースが付属しています。これもテストのみを目的としており、実稼働環境に移行する前に削除する必要があります。

    テストデータベースを削除してアクセスしますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y

    • テストデータベースを削除しています...成功しました。

    • テストデータベースの権限を削除しています...成功しました。

    特権テーブルを再ロードすると、これまでに行ったすべての変更がすぐに有効になります。

    特権テーブルをリロードしますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。

    すべて完了!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.