展開環境: インストールバージョン Red Hat Cent 7.0 MYSQL バージョン 8.0.2.0 デプロイメントが成功した後、失敗が発生します。 1. MYSQL サービスを正常に起動した後、Linux で root アカウントとパスワードを入力できません。 2. /etc/my.cnf 設定ファイルに skip-grant-table を追加すると、通常どおりログインできますが、ユーザーを作成したり、その他の操作を実行したりすることはできません。 要約すれば: mysql を入力したいのですが、複数のコマンドを実行できず、複数のコマンドを実行した後に mysql を入力することもできず、無限ループに陥ります。 掘削段階: インターネットで多くの方法を見つけました。まず、skip-grant-table を追加します。次に、権限テーブルを更新し、サービスを再起動し、パスワードなしで root としてログインし、root パスワードを変更して、権限テーブルを再度更新します。いろいろな方法を試しましたが、どれもうまくいきませんでした。ルートリンクを変更するのは常に間違っています。 MySQL バージョン 8.0 以上のパスワード ポリシーと変更構文が間違っていることに気付きました。 操作を繰り返します: 【mysql】 #systemctl mysqld.service を停止します #systemctl mysqld.service を起動します #mysql –u ルート [Enterキーを押して入力してください] mysql> 権限をフラッシュします。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> ユーザー 'root'@'localhost' を変更して 'MyNewPass' によって識別されます。 エラー 1819 (HY000): パスワードが現在のポリシー要件を満たしていません mysql> ユーザー 'root'@'localhost' を変更して 'MyNewPass@123' によって識別されます。 エラー 1396 (HY000): 'root'@'localhost' に対する ALTER USER 操作が失敗しました mysql> ユーザー 'root'@'%' を変更し、 'MyNewPass@123' によって識別されます。 [MySQL 8.0 以降のパスワード ポリシーの制限では、大文字と小文字に加えて、数字と特殊記号を使用する必要があります。以前は、root パスワードを変更した先人たちを参考にして、mysqladmin、set、update を使用しました。記事の最後に紹介があります。 クエリは正常、影響を受けた行は 0 行 (0.05 秒) 終了し、Skip-grant-tableステートメントを削除して、データベースを再起動します。 [root@localhost ~]# vim /etc/my.cnf [削除省略] [root@localhost ~]# systemctl stopmysqld.service [root@localhost ~]# systemctl startmysqld.service [root@localhost ~]# mysql -uroot –p mysql> ユーザー dbadmin@localhost を作成します -> 'pwd123' によって識別されます。 エラー 1819 (HY000): パスワードが現在のポリシー要件を満たしていません mysql> ユーザー dbadmin@localhost を作成します -> 'Pwd123' によって識別されます。 エラー 1819 (HY000): パスワードが現在のポリシー要件を満たしていません mysql> ユーザー dbadmin@localhost を作成します -> 'Pwd@123' によって識別されます。 エラー 1819 (HY000): パスワードが現在のポリシー要件を満たしていません mysql> ユーザー dbadmin@localhost を作成します -> 'MyNewPass@123' によって識別されます。 クエリは正常、影響を受けた行は 0 行 (0.10 秒) [ユーザーは通常どおり作成できますが、パスワードのセキュリティにはさらに高度な複雑さが必要です] 次に、リモート接続に SQL ツールを使用します。ここでは、リモート接続に SQLyog を使用します。 一般的に、パスワードが正しい場合でも、ROOT ユーザーのアカウントとパスワードを使用して直接接続することはできません。 MYSQL 8.0 で新しく 2.1 まず、ROOTユーザーのnative_passwordパスワードを変更することができます mysql> ALTER USER 'root'@'%' は、'MyPass@123' によって mysql_native_password で識別されます。 クエリは正常、影響を受けた行は 0 行 (0.15 秒) 2.2 次に、新しく追加されたユーザーにルートユーザーとしてログインし、認証してからリモートで接続します。 mysql> 'super'@'%' というユーザーを作成し、'MyPass@123' で識別します。 クエリは正常、影響を受けた行は 0 行 (0.10 秒) クエリは正常です。行数は 0 です。affe mysql> GRANT ALLON *.* TO 'super'@'%' WITH GRANT OPTION; クエリは正常、影響を受けた行は 0 行 (0.10 秒) mysql> 権限をフラッシュします。 クエリは正常、0 行が影響を受けました (0.00 秒) 終了しました (0.01 秒) mysql> ALTER USER 'super'@'%' IDENTIFIEDWITH mysql_native_password BY 'MyPass@123'; クエリは正常、影響を受けた行は 0 行 (0.10 秒) 注意: ps: MySQLのルートパスワードを変更するさまざまな方法を見てみましょう Navicat for MySQL で SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); を実行するだけです。 方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> 'root'@'localhost' のパスワードを設定 = PASSWORD('newpass'); 方法 2: mysqladmin を使用する
ルートパスワードが設定されている場合は、次の方法を使用します
方法3: UPDATEを使用してユーザーテーブルを直接編集する mysql -u ルート mysql> mysql を使用します。 mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root'; mysql> 権限をフラッシュします。 ルートパスワードを紛失した場合は、 mysqld_safe --skip-grant-tables& mysql -u ルートmysql mysql> UPDATE user SET password=PASSWORD("新しいパスワード") WHERE user='root'; mysql> 権限をフラッシュします。 要約する 上記は、MySql8.0 以降のバージョンの ROOT パスワードを正しく変更するために紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
>>: ReactはExcelファイルのインポートとエクスポートを実装します
このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルのみをサポートしています。そのため、...
MySql のウィンドウ関数を使用して統計データを収集する際に、小さな問題が見つかったので、それにつ...
1. 文書化ルール1. 大文字と小文字が区別されます。 2. 属性値は引用符(一重引用符または二重引...
結果:実装コードhtml <link href='https://fonts.goog...
この記事の例では、商品詳細ページ機能を実現するためのVueの商品タブの具体的なコードを参考までに共有...
目次1. メモリモデルとランタイムデータ領域2. マインドマップと凡例3. オブジェクトはJVMから...
前述のこの記事はとても短いです〜主な目的は、モバイル端末上のクリックと js イベントのメカニズムに...
ご存知のとおり、binlog ログは MySQL データベースにとって非常に重要です。万が一、データ...
この記事では、動的なテーブル効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...
1. 公式紹介grep は Linux でよく使用されるコマンドです。これは、ファイルやテキストに対...
1. まず、nginxの位置情報に関する関連知識を確認しましょう1) 位置マッチング手順: ~ #波...
<br />123WORDPRESS.COM の以前のチュートリアルでは、Web ページ...
目次1. シナリオ2. 基盤となるAPIを簡素化する2.1 自動的に破棄を呼び出す2.2 VM値を作...
方法:実際のプロジェクトを例に挙げてみましょう。 .lk-ツールバー{ .el-入力{ 幅: 169...
次に、2 つのテーブルを作成し、一連の SQL 文を実行します。SQL 文の実行後にテーブル内のデー...