Linux で MySQL のルート パスワードを変更する方法

Linux で MySQL のルート パスワードを変更する方法

序文

このサービスは数か月前から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 をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • mysql 8.0.16 winx64 および Linux でルート ユーザーのパスワードを変更する方法
  • Linux で MySQL または MariaDB のルート パスワードをリセットする方法
  • Linux (CentOS) で MySQL ルート パスワードをリセットする方法
  • Linux環境でmysqlのルートパスワードを忘れた場合の解決策(3つ)
  • Linux システムで MySQL のルート パスワードをリセットする
  • Linux で MySQL ユーザー (root) のパスワードを変更する方法
  • Linux MySQL ルートパスワードを忘れた場合の解決方法

<<:  Centos7 システムでの .NET Core 2.0 + Nginx + Supervisor 環境の構築

>>:  Nginx シグナル制御

推薦する

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

設定操作からMySQLへのNULLが見つからない問題を解決する

興味深い発見:合計 1000 件のレコードを含むテーブルがあります。クエリ ステートメントは次のよう...

Linux における SUID、SGID、SBIT の素晴らしい使い方の詳細な説明

序文Linux のファイル権限管理はとにかく素晴らしいです。SUID、SGID、SBIT の機能を確...

Centos 7 sshd の変更 | ルートログインの禁止と sshd ポートスクリプトの定義

1. 新しいユーザーwwweee000を作成します [root@localhost ~]# user...

ユーザーエクスペリエンスの要素またはWebデザインの要素

システムとユーザー環境の設計<br />Apple システムの成功は、そのシステム アー...

エラー 1045 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されました (パスワード使用: YES) 実用的な解決策

昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...

HTMLとは何ですか?

HTML 開発の歴史: HTML は英語で Hypertext Marked Language の...

CentOS 7のインストールと設定方法のグラフィックチュートリアル

この記事は、CentOS 7の詳細なインストールチュートリアルを参考のために記録します。具体的な内容...

MySQL 8.0.15 のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...

Vue コンポーネントでのアンチシェイクとスロットリングの使用例の分析

入力ボックスへのユーザー入力、ウィンドウのサイズ変更、スクロール、Intersection Obse...

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

vue3 統合 API における vue2 の $refs の代替方法についての簡単な説明

vue2 プロジェクト開発の経験があれば、$refs に精通しているでしょう。 vue3 の急激なア...

MySQL における UNION と UNION ALL の基本的な使い方

データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...

カタツムリ映画システムのDocker展開の詳細なプロセス分析

環境に関する声明ホストOS: Cetnos7.9 最小インストールdocker バージョン: 20....

Reactイベントスロットリング効果が失敗する理由と解決策

目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...