MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル

MySQLでユーザーを作成し、ユーザーに権限を付与する方法の詳細なチュートリアル

ユーザー管理

新しいユーザーを作成する

文法

'password' で識別される 'username'@'localhost' のユーザーを作成します

mysql> '123123' で識別される 'lisi'@'localhost' ユーザーを作成します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

ユーザー名: 作成するユーザー名

localhost: ユーザーがログインできるホスト、IP アドレス、ネットワーク セグメント、およびログインできるホスト名を指定します。ローカル マシンの場合は、localhost を使用できます。ユーザーが任意のリモート ロケーションからログインできるようにする場合は、ワイルドカード % を使用できます。

mysql> パスワード(123123)を選択します。
+------------------------------------------+
| パスワード(123123) |
+------------------------------------------+
| *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 |
+------------------------------------------+
セットに1行、警告1回(0.00秒)
//上記のコードは暗号化された123123です

パスワード: MySQL 5.7 ではパスワード拡張プラグインが有効になっているため、パスワードを空にすることはできず、パスワードの複雑さの要件を満たし、データベースに書き込まれる前に暗号化される必要があります。

現在のユーザーを表示

ユーザーを選択します();
+----------------+
| ユーザー() |
+----------------+
| ルート@ローカルホスト |
+----------------+
セット内の 1 行 (0.00 秒)

作成されたユーザーはMySQLデータベースのユーザーテーブルに保存されます。

mysql> mysql を使用します。

mysql> ユーザーからユーザー、認証文字列、ホストを選択します。
+---------------+------------------------------------------+-----------+
| ユーザー | 認証文字列 | ホスト |
+---------------+------------------------------------------+-----------+
| ルート | | ローカルホスト |
| mysql.session | *これはここで使用できる有効なパスワードではありません | localhost |
| mysql.sys | *ここで使用できるパスワードは無効です | localhost |
| リシ | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 | ローカルホスト |
+---------------+------------------------------------------+-----------+
セット内の 4 行 (0.00 秒)
//lisiは追加したものです

lisiにログインしてみる

[root@web3 ~]# mysql -ulisi -p
パスワードを入力してください: 
MySQL モニターへようこそ。コマンドは ; または \g で終わります。
MySQL接続IDは20です
サーバーバージョン: 5.7.20-log ソース配布
//成功

ユーザー名の変更

文法

ユーザー名 'old_user'@'localhost' を 'new_user'@'host' に変更します

old_user は古いユーザー名、new_user は新しいユーザー名です。ユーザー lisi をリロードした後、zhangsan に変更します。

mysql> ユーザー 'lisi'@'localhost' の名前を 'zhangsan'@'192.168.200.4' に変更します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

効果を見る

MySQLを使用する

mysql> ユーザーからユーザー、認証文字列、ホストを選択します。
+---------------+------------------------------------------+---------------+
| ユーザー | 認証文字列 | ホスト |
+---------------+------------------------------------------+---------------+
| ルート | | ローカルホスト |
| mysql.session | *これはここで使用できる有効なパスワードではありません | localhost |
| mysql.sys | *ここで使用できるパスワードは無効です | localhost |
| 張山 | *E56A114692FE0DE073F9A1DD68A00EEB9703F3F1 | 192.168.200.4 |
+---------------+------------------------------------------+---------------+
セット内の 4 行 (0.00 秒)

名前の変更が成功し、ホストがホストから IP アドレスに変更されます。

ユーザーのパスワードを設定する

ユーザー パスワードを変更するには 2 つの方法があります。1 つは現在のユーザーを変更する方法、もう 1 つは他のユーザーを変更する方法です。

方法1の構文

パスワードの設定 = PASSWORD('パスワード')

方法2の構文

パスワードを設定=​​'ユーザー名'@'ホスト'=PASSWORD('パスワード');

注意: ログアウト後は新しいパスワードを使用する必要があります

ルートパスワードを忘れた場合の解決策

他のユーザーのパスワードを忘れた場合は、root ユーザーを使用してリセットできますが、root ユーザーを忘れた場合は、特別な方法を使用する必要があります。

方法 1: mysql サービス プロセスを停止します。

skip-grant-tables と mysqld_safe を使用してデータベースを起動する

その機能は、ユーザーがログインしたときにテーブルを認証しないことです。

mysql_safe --skip-grant-tables&
//この時点で、MySQL が起動しています。パスワードを使用せずに MySQL に直接アクセスし、update を使用してパスワードを変更します。注: パスワードを変更した後、データベースのフラッシュ権限を更新します。
次に、新しいパスワードrootでログインしてみてください。

承認制御

権限は非常に重要であり、権限設定の割り当ても非常に重要です。権限ライブラリを割り当てて責任を明確に分割することは、システム データベースのセキュリティを確保するために最も重要なことです。

権限を付与する

文法

'password' によって識別されるユーザー名@ホスト アドレスに、ライブラリ名.テーブル名の権限リストを付与します。

共通権限: すべて、作成、ドロップ、挿入、削除、更新、選択

新しいユーザーを追加する

'pasword' で識別される user@'host' に *.* に対する [権限 1、権限 2、権限 3..] を付与します。

権限を割り当てる

'111111' で識別される lisi@'192.168.1.%' に *.* 上のすべての権限を許可します。


注: ユーザー名とホスト名がデータベースに存在しない場合は、ユーザー名とホスト名が作成されます。これは、ユーザーデータを追加することと同じです。ログイン パスワードも、後で指定するパスワードです。元のパスワードが 1212 で、付与後のパスワードが異なり、123123 である場合は、パスワードを変更することと同じです。

権限の表示

'ユーザー名'@'ホストアドレス' の権限を表示します。

権限の取り消し

声明

user@'host address' から database.table の権限リストを取り消します。

すべての権限を取り消す

 lisi@'192.168.1.%' から *.* 上のすべての権限を取り消します。

要約する

MySQL でのユーザー作成とユーザー権限付与の詳細な操作については、これで終了です。MySQL でのユーザー作成と権限付与に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLユーザー権限テーブルについての簡単な説明
  • MySQL ユーザー権限管理の実装
  • MySQLユーザー権限管理の詳細な説明
  • MySQL 権限制御の詳細分析
  • MySQL 権限制御の詳細な説明
  • MySQL ストアド プロシージャ関連の権限変更の問題
  • MySQL 8.0 でリモートアクセス権限を設定する方法
  • MySQL 権限とデータベース設計のケーススタディ

<<:  HTML テーブル マークアップ チュートリアル (4): 境界線の色属性 BORDERCOLOR

>>:  Vueでミックスインを使用する方法

推薦する

5分でDockerをインストールする詳細な手順

CentOS に Docker をインストールするには、オペレーティング システムが CentOS ...

CSS3 は 3D キューブの読み込み効果を作成します

簡単な説明これは CSS3 のクールな 3D キューブのプリロード効果です。この特殊効果は、シンプル...

Vueのvue-tree-colorコンポーネントの組織構造図の事例を詳しく解説

目次ネプローダーをインストールするプラグインのインポート始める配置折りたたみディスプレイノードをクリ...

Docker イメージのローカル Elasticsearch ポート操作へのアクセス

dockerスタックによってデプロイされたイメージサービスを使用すると、イメージを入力した後、理論的...

html.cssオーバーフローの包括的な理解

html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...

Tomcat コアコンポーネントとアプリケーションアーキテクチャの詳細な説明

目次Web コンテナとは何ですか? HTTP の性質HTTP リクエスト応答の例クッキーとセッション...

Navicat Premier の MySQL へのリモート接続エラー 10038 の解決方法

MySQL へのリモート接続が失敗する場合は、次の理由が考えられます。 1. 若い男性/女性の方は、...

Navicat を使用して MySQL データベースをエクスポートおよびインポートする方法

MySql は、私たちが頻繁に使用するデータ ソースです。開発者が練習、小規模なプライベート ゲーム...

Vue で pdfjs を使用して PDF ファイルをプレビューする方法

目次序文考えるライブラリディレクトリの解析とダウンロード使い方ファイルの場所実際の通話質問要約する序...

Win10でIIS10を構成し、ASPプログラムのデバッグをサポートする手順

マイクロソフトIIS (Internet Information Server) は、Microso...

CSS スタイル分類入門(基礎知識)

CSSスタイルの分類1. 内部スタイル ---- インラインスタイルスタイルタグの使用 <ス...

Web ページのエンコーディングで gbk や gb2312 ではなく utf-8 が使用されるのはなぜですか?

選択肢がある場合は、UTF-8を使用することをお勧めします。実際、Windows システム自体のプロ...

Vue フロントエンド開発補助機能状態管理詳細例

目次マップ状態マップゲッターマップミューテーションマップアクション例まとめマップ状態コンポーネントが...

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...

Ubuntu ベースのディストリビューションに Microsoft TrueType フォントをインストールするチュートリアル

Linux 上の LibreOffice で Microsoft ドキュメントを開くと、フォントが少...