序文 このサービスは数か月前からMySQLに導入されています。私の仕事は基本的にターミナルで行われるため、ログインすることはほとんどありません。今日、何かを変更したいと思ったのですが、突然MySQLのパスワードを完全に忘れていたことに気付きました。ようやくコード内でビジネスデータベースのパスワードを見つけましたが、ルートパスワードはまだ見つからず、権限を変更できませんでした。そこで、ピットを登る旅を始めました。今後もまた遭遇すると思いますので、整理して記録しておきます。困っている友達はぜひ見に来てください。 システムパラメータ サーバ $ cat /proc/バージョン Linux バージョン 4.8.3-x86_64-linode76 (maker@build) (gcc バージョン 4.7.2 (Debian 4.7.2-5) ) #1 SMP 2016 年 10 月 20 日木曜日 19:05:39 EDT $ lsb_release -a 使用できる LSB モジュールはありません。 ディストリビューターID: Ubuntu 説明: Ubuntu 16.04.1 LTS リリース: 16.04 コードネーム: ゼニアル マイスク mysql> "%version%"のような変数を表示します。 +-------------------------+-------------------------+ | 変数名 | 値 | +-------------------------+-------------------------+ | innodb_バージョン | 5.7.16 | | プロトコルバージョン | 10 | | スレーブタイプ変換 | | | tls_version | TLSv1、TLSv1.1 | | バージョン | 5.7.16-0ubuntu0.16.04.1 | | バージョンコメント | (Ubuntu) | | バージョン_コンパイル_マシン | x86_64 | | バージョン_コンパイル_os | Linux | +-------------------------+-------------------------+ 解決 mysql をセーフモードで起動し、root として直接ログインして、パスワードをリセットできます。具体的な手順は次のとおりです 実行中の MySQL サービスを停止します。 sudo サービス mysql を停止 セーフモードでmysqlを起動します。 sudo mysqld_safe --skip-grant-tables --skip-networking & パスワードなしで直接 root としてログインします。 mysql -u ルート パスワードをリセット: mysql> mysql を使用します。 mysql> ユーザーを更新し、authentication_string=password('password') を設定します。user='root'; mysql> 権限をフラッシュします。 MySQLを終了する mysql > 終了 MySQLを再起動する sudo サービス mysql を再起動 パスワードログイン: mysql -u ルート -p 例外処理 パスワード変更エラー メッセージ、ERROR 1054 (42S22) パスワードを変更する場合、インターネット上の多くのドキュメントでは、パスワードを変更するために次のコマンドを入力するように求められます。 mysql> ユーザーを更新し、パスワードを PASSWORD("password") に設定し、User='root' に設定します。 その結果、このコマンドを使用するとエラーが発生します。 エラー 1054 (42S22): 「フィールド リスト」に不明な列「パスワード」があります 理由は、MySQL 5.7以降、パスワードフィールドがauthentication_stringに置き換えられたためです。次のコマンドを使用して変更できます。 ユーザーを更新します。set authentication_string=password('password') where user='root'; パスワードを変更した後、MySQLへのログインに失敗し、ERROR 2002 (HY000) が表示されます。 パスワードを変更して再起動した後、MySQLにログインできなくなり、 エラー 2002 (HY000): ソケット '/var/run/mysqld/mysqld.sock' 経由でローカル MySQL サーバーに接続できません (2) 調べてみると、MySQL を複数バージョンインストールしていたことが原因であることがわかりました。以下のコマンドを順に実行することで問題は解決します。 実行中のmysqlを表示する ps -A | grep mysql 実行中のmysqlを強制終了する sudo pkill mysql 実行中のmysqldを表示する ps -A|grep mysqld 実行中のmysqldを強制終了する sudo pkill mysqld MySQLを再起動する サービスmysqlの再起動 mysqlにログイン mysql -u ルート -p 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: Centos7 システムでの .NET Core 2.0 + Nginx + Supervisor 環境の構築
gzip は、Linux システムでファイルの圧縮と解凍によく使用されるコマンドです。このコマンドで...
この記事では、参考までに簡単なHTMLと音楽プレーヤーの制作コードを紹介します。具体的な内容は以下の...
目次ガベージコレクション (GC) はなぜ必要なのでしょうか?ガベージコレクションとは廃棄物の発生ガ...
結合指数は複合指数とも呼ばれます。複合インデックスの場合: MySQL はインデックス内のフィールド...
目次単一マシンの展開オンラインプルミラーを見るRabbitMQを作成して実行するMQコンテナを正常に...
目次Dockerfileを使用してDockerイメージを構築する1. Dockerfile とは何で...
どの企業もユーザーベースを拡大したいのであれば、ユーザーの操作データを収集・分析する必要があり、その...
目次序文: 1. コンセプト2. モジュール化の利点3. 複数のスクリプトタグを導入した後の問題1....
プロジェクトドキュメントディレクトリDiv+CSS 命名規則 - 4 - Div+css 命名規則 ...
1. システム環境yum updateアップグレード後のシステムバージョンは[root@yl-web...
https をサポートしていない Web サイトは、ブラウザによって徐々に安全でないとマークされるた...
序文:前回の記事では、さまざまな MySQL ステートメント構文の使用法とユーザー権限に関する知識を...
目次MySQL クエリツリー構造1. ツリー構造について2. MySQLでカスタム関数を定義する方法...
目次1. 遭遇した問題2. 問題を分析する3. 本当の問題4. 解決策5. ソリューション効果1. ...
目次背景目的分割前プロセス設計ディレクトリ構造の設計問題分割後プロセス設計ディレクトリ構造の設計問題...