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

推薦する

MySQL 5.7.31 64 ビット無料インストール版チュートリアル図

1. ダウンロードダウンロードアドレス: https://dev.mysql.com/get/Dow...

Linux lessコマンド例の詳細な説明

ファイル名が少ないファイルを表示ファイル名を少なく | grep -n コンテンツを検索内容に応じて...

CSS を使用して波状のウォーターボール効果を実装するためのサンプルコード

今日は新しいCSS特殊効果、波型ウォーターボール効果を学びました。これもとても美しいです HTML:...

Dockerはnextcloudを使用してプライベートBaiduクラウドディスクを構築します

突然、ドキュメントの保存と共同作業のためのプライベート サービスを構築する必要がありました。多くの場...

HTML でランダムロールコーラーを実装するためのサンプルコード

この点呼装置は簡易版であり、自動停止の必要性を考慮していないため、点呼を開始した後、停止ボタンをクリ...

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

参考までにWindowsにMySQLをインストールします。具体的な内容は次のとおりです。 1.まずM...

MySQLデータベースはsysbenchに基づくOLTPベンチマークテストを実装します

Sysbench は、MySQL データベース ストレージ エンジン InnoDB のディスク I/...

React Contextの理解と応用についてお話ししましょう

目次序文React Context の初見コンテキストの使い方コンテキストを直接取得できるいくつかの...

セマンティック HTML タグの紹介

ここ数年、ウェブサイト開発では DIV+CSS が非常に人気があり、当時は大きな騒動を引き起こしまし...

Webデザインチュートリアル(6):デザインへの情熱を持ち続ける

<br />前の記事:Webデザインチュートリアル(5):Webビジュアルデザイン。 1...

SQL Server の完全バックアップに関する珍しいエラーと解決策

1. エラーの詳細一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しまし...

Dockerは同じIPネットワークセグメントとの接続を実現する

最近、Docker とホストが同じネットワーク セグメント上で通信する問題を解決し、そのプロセス全体...

MySQL IN ステートメントにおける低速クエリの効率を最適化する手法の例

表の構造は以下のとおりです。記事数は690件のみです。 記事テーブル article(id,titl...

JavaScript ファクトリーパターンの説明

目次シンプルファクトリーファクトリーメソッド安全な工場方法アブストラクトファクトリー要約するシンプル...

ウェブサイトを構築するときは、UTF-8 または GB2312 エンコードを使用する必要がありますか?

外国のウェブサイトを開くと文字化けした文字が表示されることが多く、また、英語以外の外国のウェブサイト...