ルートアカウントは、MySQLのデータベース全体でさまざまな特権を提供するスーパーユーザーアカウントです。デフォルトでは、rootアカウントの初期パスワードは「空/空白」であるため、誰でもrootとしてMySQLサーバーにアクセスできます。
注: 空/空白のパスワードは、パスワードがないことを意味します。したがって、MySQL権限が付与されている限り、誰でもログインできます。
Linuxでrootユーザーとしてログインするには:
- スタートメニューを選択>右上隅でログアウトします。これにより、現在使用しているユーザーアカウントからログアウトできます。
- ログインウィンドウが表示されます。ここで、ユーザー名「root」とrootユーザーに設定したパスワードを使用してログインします。ログインウィンドウに複数のユーザーがいる場合は、他のユーザーを選択してログインします。
パスワードが設定されていない場合、またはMySQLパスワードを忘れた、または変更する必要がある場合は、以下にパスワードの設定/回復方法に関するガイドを示します。
MySQLルートパスワードを設定、変更、および回復する方法
データベース内の別の場所でMySQLがすでに実行されている可能性が高いです。この場合、rootユーザーのパスワードを変更または設定する必要がある場合があります。これは、rootパスワードを忘れたか、単にパスワードを強化したい場合の結果である可能性があります。
このプロセスはコマンドラインで処理され、MySQLまたはMariaDBのいずれかのインストールで機能します。また、sudoまたはsu構文を使用して管理者アクセス権を持っている限り、プロセスは類似しているため、使用しているLinuxディストリビューションは重要ではありません。
注意:ITランドスケープ全体で多くの攻撃が行われているため、非常に強力なパスワードが必要です。これをデータベースに強くお勧めします。非体系的なパスワードジェネレータを試してから、パスワードマネージャを使用してパスワードを保存できます。
続けましょう。
初めてパスワードを設定する
通常、MySQLのインストール中に、初期パスワードを設定する必要があります。ただし、MySQLのインストールおよびセットアップ中にこれが行われなかった場合は、最初にパスワードをセットアップする必要があります。その方法は次のとおりです。
- まず、ターミナルウィンドウを開きます。
- ターミナルを起動した後、次のコマンドを貼り付けて実行します。
mysqladmin -u root password Fosslinux
ここでFosslinux これから使用するパスワードです。これは、コマンド mysql -u root -pを使用してMySQLにログインするたびに使用することを意味します。 、設定したばかりのパスワードを入力する必要があります。
注: 次のエラーが発生した場合:ユーザー「root」@「localhost」のアクセスが拒否されました。 下にスクロールして、この記事で提供されている解決策を見つけてください。
または、次の方法を使用して、rootパスワードを初めて設定することもできます。以下のコマンドを使用してください:
mysql_secure_installation
このコマンドは、rootユーザーのパスワードを設定し、匿名ユーザーとテストデータベースを削除できるようにします。さらに、リモートルートログインも禁止されます。これにより、MySQLデータベースに対する具体的なセキュリティがさらに保証されます。
MySQLルートパスワードを初めて設定した後、それを変更する方法を学ぶ時が来ました。
MySQLルートユーザーパスワードの変更
MySQLルートパスワードを変更するには、ここに記載されている手順に従ってください:
- まず、次のコマンドを使用して新しいファイルを作成します。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Fosslinux$11';
Fosslinux $ 11 使用される新しいパスワードです。大文字、小文字、数字、特殊文字を組み合わせて、現在のパスワードポリシーを満たすことを忘れないでください。
ファイルを〜/ mysql-pwd
として保存します- 次に、次のコマンドを使用してMySQLデーモンを停止します。
sudo systemctl stop mysql
- デーモンが停止したので、端末で次のコマンドを発行して実行します。
sudo mysqld -init-file=~/mysql-pwd
- コマンドプロンプトが上記のコマンドの実行を完了したらすぐに、次のコマンドを使用してMySQLデーモンを再起動します。
sudo systemctl start mysql
- この時点で、以下のコマンドを実行することにより、新しく設定された管理者パスコードを使用してMySQLコマンドプロンプトにログインできるようになります。
mysql -u root -p
プロンプトが表示されたら、作成した管理者パスワードを入力すると、準備が整います。
新しく作成されたMySQLルートパスワードを変更する方法を実りある方法で学習したので、忘れた、または紛失したMySQLルートパスワードを回復する方法を学習するときが来ました。
MySQLパスワードを回復する
さて、MySQLのrootユーザーのパスワードを忘れてしまい、どうしてもパスワードを回復する必要があるとしましょう。ここに記載されている手順に従うだけです:
1.次のコマンドを使用してMySQLサーバープロセスを停止します:
sudo service mysql stop
2.次のコマンドを使用してMySQLサーバーを起動します。
sudo mysqld_safe --skip-grant-tables --skip-networking &
3.次のコマンドを使用して、rootユーザーとしてMySQLサーバーに接続します。
mysql -u root
上記の手順を完了した後、rootパスワードをリセットするには、次のMySQLコマンドを発行する必要があります。
mysql> use mysql; mysql> update user set authentication_string=password('NEWPASSWORD') where user='root'; mysql> flush privileges; mysql> quit
注: NEWPASSWORDを忘れないでください rootユーザーとしてログインするために使用する新しいパスワードを指します。
上記のすべてのコマンドの実行が完了したら、次のコマンドを使用してMySQLデーモンを再起動します。
sudo service mysql restart
これで、新しく設定したパスワードを使用してMySQLにログインできるようになります。
それで全部です。これで、MySQLルートパスワードを設定、リセット、および回復できるようになりました。
注意すべき重要なポイント: MySQLrootユーザーに非常に強力なパスワードを設定することを忘れないでください。解読しにくいパスワード。これにより、データベースのセキュリティが強化されます。すでにご存知のように、データベースには非常に機密性の高いデータが格納されているため、最後に必要なのは、誰もがあなたの同意なしにあなたの情報にアクセスできるようにすることです。長いパスワードや、簡単に覚えたり推測したりできないパスワードを使用することを強くお勧めします。パスワードジェネレータを使用してパスワードを作成する場合は、パスワードボールトに保存することを忘れないでください。
MySQLを使用しているときに、エラーメッセージが表示された場合は、非常に恥ずかしい思いをする可能性があります。たとえば、ほとんどのユーザーは次のエラーメッセージに直面していると不満を言っています:ユーザーroot@localhostのアクセスが拒否されました。 これはあまり快適ではないかもしれませんが、私たちはあなたのための解決策を持っています。
MySQLエラーを解決する方法:ユーザーroot@localhostのアクセスが拒否されました
このエラーメッセージは通常、rootユーザーでMySQLに接続しようとすると、MySQLの新規インストールで表示されます。
ローカルホストのユーザーrootに対して拒否されたアクセスをすばやく解決する方法は次のとおりです。概説した手順は、MySQLとMariaDBの両方に使用できます。テーブルを変更したり、複雑な構成を実行したりする必要はありません。
この記事ですでに見たように、MySQLをインストールし、rootユーザーを使用してローカルマシンにアクセスしたい場合は、次のコマンドを使用します。
mysql -u root -p
ほとんどの場合、「ユーザーroot@localhostのアクセスが拒否されました。」というエラーメッセージが表示されます。
rootとしてMySQLにログインするには、最初にsudoを使用してrootユーザーに変更を加えます。
sudo mysql
次に、プロンプトでパスコードを入力します。 MySQLシェルがロードされます。
ALTER USERコマンドを使用し、認証方法を変更して、rootとしてMySQLにログインします。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'insert_password';
例:
チュートリアルのために、コマンドラインと以下の出力に示すように、パスワードを「Fosslinux」に変更します。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Fosslinux';
出力
上記のコマンドラインは、ユーザーrootのパスワードを変更し、認証方法を mysql_native_passwordに設定します。 。これは、従来の認証モードです。残念ながら、ほとんどの場合、使用される認証モードが auth_plugin であるため、上記のエラーが発生します。 これは安全ではないため、エラーが発生します。
注: 希望のパスワードを入力するときは、パスワードで規定されている規則に従っていることを確認してください。より強力なパスワードを入力する場合は、大文字と小文字と数字の組み合わせを使用してください。
上記のコマンドを実行した後、キーボードのCTRL + Dをクリックするか、MySQLシェルの「exit」を入力してMySQLシェルを終了し、Enterをクリックします。以下のコマンドを使用してログインするために、MySQLサービスを再起動する必要はありません。
sudo service mysql restart
この時点で、rootを使用してMySQLへのアクセスを再試行できます。ターミナルで、次のように入力します:
mysql -u root -p
ALTER USERコマンドで使用したパスコードを入力します。システムパスワードを入力してMySQLにアクセスしようとしないでください。これは、機能しないためです。すべてがうまくいけば、MySQLのウェルカムメッセージが表示されるはずです。
注意:ALTER USERコマンドは、それぞれ5.7.6および10.1.20より前のバージョンのMySQLおよびMariaDBでは機能しない場合があります。
要約すると、これでMySQLエラー1698(28000)をバイパスできるようになりました。ユーザー「root」@「localhost」のアクセスが拒否されました。このエラーを回避するにはさまざまな方法がありますが、はるかに単純で高速な方法を使用しました。 SQL構文のエラーを回避するために、この記事にリストされているコマンドを入力してください。それらをコピーして貼り付けることをお勧めします。
結論
この記事では、MySQLでのrootユーザーのログインに関連するすべての主題について説明し、詳細に説明します。 MySQLでrootユーザーとしてログインする方法を示すだけでなく、エラーが発生しないようにする方法と、発生した場合に最も一般的なエラーを回避する方法も示します。
この記事では、MySQLルートパスワードを設定、変更、回復し、ルートパスワードを初めて設定する手順についてさらに詳しく説明します。強力なパスワードの組み合わせを使用してセキュリティ違反を回避するために、この記事で提供されているすべてのプロセスに固執するようにしてください。この記事がお役に立てば幸いです。はいの場合は、コメントセクションで高く評価してください。