多数のデータベースへのマルチユーザーアクセスを提供するために、サーバー上で実行され、MySQLと呼ばれるリレーショナルデータベース管理システムが開発されています。 MySQLはGNUGeneralPublic Licenseの下で開発されており、そのソースコードは定義された条件で利用できます。 MySQLは、Webアプリケーションで使用するためのデータベースの一般的な選択肢であり、任意のWebサイトのデータを保存するためのcPanelホスティングアカウントで非常にうまく機能します。また、MySQL rootパスワードを忘れて、MySQLサービスにアクセスできない場合は、この記事で説明されている次の手順を使用して、MySQLrootユーザーのパスワードをリセットする必要があるとします。
Plainサーバー、cPanelサーバー、PleskサーバーのMYSQLルートパスワードをリセットする手順を確認しましょう。
プレーンサーバーのMySQLルートパスワードをリセット
Centos6プレーンでプレーンサーバーのMySQLルートパスワードをリセットする手順。
ステップ1: [メール保護][〜]#/etc/init.d/mysqldstopまたは [メール保護][〜]#service mysqld stop
ステップ2: パスワードなしでMySQLサーバーを起動します:
[メール保護][〜]#mysqld_safe –skip-grant-tables&
ステップ3: [メールで保護][〜]#mysql
その後、mysqlプロンプトを取得して、次のコマンドを実行できます。
ステップ4: mysql> use mysql;
ステップ5: mysql>更新 user SET password =PASSWORD(‘NEWPASSWORD’)WHERE User =’root’;
ステップ6: mysql>終了
ステップ7: [メール保護][〜]#/etc/init.d/mysqld stop
ステップ8: [メール保護][〜]#/etc/init.d/mysqld start
これで、
を使用してmysqlサービスにアクセスできます。ステップ9: [[メール保護]〜]#mysql -u root -p
Centos7のコマンドの下にプレーン
SystemDを介して、次のコマンドを使用する必要があります
ステップ1: [メールで保護][〜]#systemctl stop mysql
ステップ2: [メール保護][〜]#systemctl set-environment MYSQLD_OPTS =” – skip-grant-tables”
ステップ3: [メールで保護][〜]#systemctl start mysql
ステップ4: [メール保護][〜]#systemctl status mysql
ステップ5: [メール保護][〜]#mysql -u root
ステップ6: mysql> use mysql;
ステップ7: mysql> UPDATE user SET password =PASSWORD(‘NEWPASSWORD’)WHERE User =’root’;
ステップ8: mysql> FLUSH PRIVILEGES;
ステップ9: [メール保護][〜]#systemctl stop mysql
ステップ10: [メール保護][〜]#systemctl unset-environment MYSQLD_OPTS
ステップ11: [メールで保護][〜]#systemctl start mysql
これで、
を使用してmysqlサービスにアクセスできます。ステップ12: [[メール保護]〜]#mysql -u root –p
SysVinitを介して次のコマンドを使用する必要があります
- [メール保護][〜]#/etc/init.d/mysqld stop
- [メール保護][〜]#mysqld_safe –skip-grant-tables&
- [メール保護][〜]#systemctl status mysql
- [メール保護][〜]#mysql -u root
- mysql>mysqlを使用します;
- mysql> UPDATE user SET password =PASSWORD(‘NEWPASSWORD’)WHERE User =’root’;
- mysql> FLUSH PRIVILEGES;
- [メール保護][〜]#/etc/init.d/mysql stop
- [メール保護][〜]#/etc/init.d/mysql start
これで、
を使用してmysqlサービスにアクセスできます。[[メール保護]〜]#mysql -u root –p
cPanelサーバーの手順
ステップ1: cPanel / WHMを実行しているすべてのサーバーで、ルートのMySQLクレデンシャル ローカルにファイルに保存されます。このファイルには、rootユーザーのみがアクセスできます。
rootユーザーとしてサーバーのCLIにログインし、/root/.my.cnfファイルでクレデンシャルを表示する必要があります
コマンド-
[メール保護][〜]#cat /root/.my.cnf
これにより、MySQLパスワードを含む結果が出力されます。 、次のように表示されます:
[メール保護][〜]#cat /root/.my.cnf
[クライアント]password=“ Password”
user =root
現在のパスワードをメモします。
ステップ2: パスワードは、WHMからルートMySQLパスワードを復元することもできます
- WHMにログイン
- SQLサービスオプションに移動
- MySQLルートパスワードを選択
- 新しいパスワードを入力し、[パスワードの変更]ボタンをクリックします。
- このプロセスにより、サーバーのMySQLルートパスワードが変更されます。
ステップ3: 上記の手順でルートパスワードをリセットできない場合は、手順に従ってプレーンサーバーのパスワードをリセットしてください。
Pleskサーバーの手順
Pleskサーバーでは、管理者がメインユーザーです。
注:このソリューションは、「admin」@「localhost」ユーザーのパスワードが手動で変更された状況に適用されます。
MySQL管理者パスワードを/etc/psa/.psa.shadowで指定されたパスワードと同じに設定します ファイル。
手順:
ステップ1: SSH経由でPleskサーバーに接続します。
ステップ2: MySQL管理者の自動復元用のスクリプトをダウンロードします:
#curl -LO https://plesk.zendesk.com/hc/article_attachments/360042955514/213364309-restore-admin-user.php.tar.gz
ステップ3: 開梱:
#tar xf 213364309-restore-admin-user.php.tar.gz
ステップ4: スクリプトを実行します:
#plesk php 213364309-restore-admin-user.php
ステップ5: もう一度Pleskにアクセスしてみてください。自動化されたソリューションが役に立たなかった場合は、手動のソリューションを適用してください。
手動ソリューションを確認しましょう:
ステップ1: SSHを介してPleskサーバーに接続します。
ステップ2: 以下のコマンドを使用して、ディレクティブold-passwordsがMySQL構成ファイルmy.cnfに存在するかどうかを確認します(出力がない場合は、存在しないことを意味します):
#grep -ir old-passwords / etc / my *
存在する場合は、テキストエディタを使用して削除します。
ステップ3: MySQL管理者ユーザーのハッシュ化されたパスワードを取得し、それをクリップボードにコピーします:
注:ファイルに指定されているパスワードが1つだけであることを確認してください。
#grep AES /etc/psa/.psa.shadow
ハッシュ化されたパスワードの例を次に示します。
$ AES-128-CBC $ ZmY / EEpy1 + TwCNq5kalqSA ==$ Pd02kf4TTlpXdi / qyeo92w ==
ステップ4: my.cnfファイルを変更します:
4.1。 my.cnfファイルをテキストエディタで開きます。この例では、viエディターを使用しています:
- CentOS/RHELベースのディストリビューションについて
#vi /etc/my.cnf
- Debian/Ubuntuベースのディストリビューションについて
#vi /etc/mysql/my.cnf
4.2。 [mysqld]セクションの下にskip-grant-tables行を追加します:
[mysqld]
skip-grant-tables<…>
4.3。変更を保存してファイルを閉じます。
ステップ5: MySQLを再起動します。コマンドはMySQLのバージョンとオペレーティングシステムによって異なります:
#service mariadb restart
#service mysql restart
#service mysqld restart
ステップ6: MySQLに接続する:
#plesk db
ステップ7: mysqlデータベースに切り替えます:
mysql> use mysql;
ステップ8: MySQLのバージョンを検索します:
mysql> SELECT VERSION();
ステップ9: ACLテーブルのキャッシュをリロードします:
mysql> FLUSH PRIVILEGES;
注:上記のコマンドを実行した後は、現在のMySQLセッションを終了しないでください。このコマンドは、許可テーブルをロードし直します。
ステップ10: MySQL管理者ユーザーを復元します:
- MySQL5.1から5.6およびMariaDB5.5から10.4まで
1.現在の管理者ユーザーを削除します :
mysql>ユーザーの削除 ‘admin’ @’localhost’;
2.ハッシュされたパスワードを使用して新しい管理者ユーザーを作成します ステップ3から:
mysql> CREATE USER‘admin’ @’localhost’ IDENTIFIED BY ‘HASHED_PASSWORD_FROM_STEP_3’;
3.すべての許可を付与します 管理者ユーザーへ:
mysql> GRANT ALLON*。*TO'admin'@'localhost'WITH GRANT OPTION;
4. MySQLを終了します:
mysql>終了
- MySQL5.7から8.0まで
1.現在の管理者を削除します ユーザー:
mysql>ユーザーの削除 ‘admin’ @’localhost’;
2.ハッシュされたパスワードを使用して新しい管理者ユーザーを作成します ステップ3から:
mysql> CREATE USER‘admin’ @’localhost’ IDENTIFIED WITH‘mysql_native_password’ BY‘HASHED_PASSWORD_FROM_STEP_3’;
3.管理者ユーザーにすべての権限を付与します:
mysql> GRANT ALLON*。*TO'admin'@'localhost'WITH GRANT OPTION;
4. MySQLを終了します:
mysql>終了
ステップ11: skip-grant-tablesを削除します my.cnfファイルの行(ステップ4)。
ステップ12: MySQLを再起動します:
#service mariadb restart
#service mysql restart
#service mysqld restart