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でミックスインを使用する方法

推薦する

要素 DateTimePicker+vue ポップアップボックスに時間のみが表示される問題を解決する

3つの知識ポイント: 1. CSS子孫セレクターhttps://www.w3school.com.c...

HTMLテーブルレイアウトの実践的な使い方の詳しい説明

テーブルはいつ使用されますか?最近では、Web ページの全体的なレイアウトにテーブルが使用されること...

TypeScript 環境を構築して VSCode にデプロイする詳細な手順

目次TypeScript環境の構築ステップ1: Taobaoミラーをダウンロードするステップ2: T...

HTML ページでコンテンツの選択、コピー、右クリックを防止する方法の詳細な説明

時には、Web ページに掲載されているコンテンツが悪意のある人物に盗用されるのを望まないため、Web...

MySQL テーブル結合クエリでグループ化と重複排除を実装する例

目次ビジネスロジックデータテーブル構造クエリロジックSQL スクリプトスクリプトの説明ビジネスロジッ...

Nginx SSL証明書設定エラーの解決策

1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...

ページング効果を実現するNode+Express

この記事では、ページング効果表示を実現するためのnode+expressの具体的なコードを参考までに...

Docker ベースの Selenium 分散環境の構築

1.画像をダウンロードするdocker pull selenium/hub docker pull ...

Docker の MySQL 時間とシステム時間の不一致の問題を解決する

最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...

IE6/7 における a.getAttribute(href,2) 問題の分析と解決

簡単な説明<br />IE6および7では、一般的なaタグ(HTMLで記述され、DOM操作...

IIS web.config でクロスドメイン アクセスを設定する方法

要件: ページに画像を表示する必要がありますが、さまざまな理由により、画像はサーバー 2 にあります...

Vue+echarts で積み上げ棒グラフを実現

この記事では、積み上げ棒グラフを実装するためのVue+echartsの具体的なコードを参考までに紹介...

Linux サーバーでフォルダー、ファイル、解凍コマンドを削除する方法

1. フォルダを削除する例: rm -rf /usr/java /usr/javaディレクトリとその...

Vue の長いリストをすばやく読み込む方法

目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...

MySQL における冗長インデックスと重複インデックスの違い

MySQL では、1 つの列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、M...