コードは次のとおりです:
# yum-config-manager をインストールします
yum インストール yum-utils -y
# MySQL5.6のソースを無効にする
yum-config-manager --mysql56-community を無効にする
# MySQL5.7のソースを有効にする
yum-config-manager --mysql57-community-dmr を有効にする
# 次のコマンドを使用して、設定が正しいかどうかを確認します
yum repolist が有効になっています | grep mysql
コードは次のとおりです:
# mysqld --initialize --user=mysql --datadir=/var/lib/mysql
または
コードは次のとおりです:
# mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
さらに、mysql アカウントでログインしてプログラムを実行するときに、コマンドから --user オプションを削除できます。
公式ドキュメントから、root として Linux システムにログインすると、mysqld --initialize --user=mysql または mysqld --initialize-insecure --user=mysql を実行できることがわかります。 Linux システムに mysql ユーザーとしてログインすると、mysqld --initialize または mysqld --initialize-insecure を実行できます。
どのプラットフォーム上にあるかに関係なく、 --initialize オプションを使用すると、「デフォルトのセーフ モード」でインストールされます (つまり、ランダムな root 初期パスワードの生成が含まれます)。この場合、パスワードは期限切れとしてマークされるため、新しいパスワードを選択する必要があります。 --initialize-insecure オプションを使用すると、root パスワードは生成されません。この場合、サーバーを運用環境で使用する前に、アカウントにパスワードをただちに割り当てる必要があります。
--initialize を使用すると、root アカウントのランダムな初期パスワードが生成されます。コマンド mysql -u root -p を使用して、MySQL にログインするためのパスワードを入力します。 --initialize-insecure を使用しても、root アカウントのランダムな初期パスワードは生成されません。コマンド mysql -u root --skip-password を使用して MySQL に直接ログインできます。
初期化プロセス中に次のエラーが発生しました:
[エラー] --initialize が指定されましたが、データ ディレクトリにファイルが含まれています。中止します。
[エラー] 中止します
解決策:
コードは次のとおりです:
rm -rf /var/lib/mysql/*
原因分析:
mysqld サービスは、次のようにデータ ディレクトリが存在するかどうかを確認します。 データ ディレクトリが存在しない場合は、mysqld がそれを作成します。
データ ディレクトリが存在し、空でない場合 (つまり、ファイルまたはサブディレクトリが含まれている場合)、mysqld はエラー メッセージを表示して中止します。
[エラー] --initialize が指定されましたが、データ ディレクトリが存在します。中止します。
この問題が発生した場合は、データ ディレクトリを削除するか名前を変更して、再試行してください。
要約: 初期化の前に、データ ディレクトリが存在するかどうかを確認し、コマンド ls -l /var/lib|grep mysql を実行します。その場合は、次のコマンドを実行します:
rm -rf /var/lib/mysql、削除します。
または、コマンド mv /var/lib/mysql /var/lib/newname を実行し、名前を newname に変更するだけです。
再度初期化コマンドを実行すると正常に実行されます
[注意] root@localhost: ihey0gFhTT;f の一時パスワードが生成されます
初期化中に生成された一時的な root パスワードを覚えておいてください。ログイン時に使用されます
コードは次のとおりです:
mysql -uroot -p 一時パスワード
ログイン後、すぐにパスワードを変更しないと、コマンドの実行時に次のエラーが報告されます:
mysql> データベースを表示 ;
エラー 1820 (HY000): このステートメントを実行する前に、ALTER USER ステートメントを使用してパスワードをリセットする必要があります。
または:
コードは次のとおりです:
「123@Zxc」によって識別されるユーザー「root」@「localhost」を変更します;
コードは次のとおりです:
「123@Zxc」によって識別されるユーザー「root」@「localhost」を変更します;
MySQL はユーザー パスワードのセキュリティを強化しているため、設定するパスワードには数字、大文字、小文字、特殊記号を含める必要があります。設定したパスワードが単純すぎる場合は、次のメッセージが表示されます。
エラー 1819 (HY000): パスワードは現在のポリシー要件を満たしていません。