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

推薦する

DockerイントラネットはDNSを構築し、ip:port操作の代わりにドメイン名アクセスを使用します

たとえば、イントラネットに Jenkins サーバーがある場合、そのサーバーにアクセスするには、その...

MySQL スロークエリログの詳細な理解

目次スロークエリログとは何ですか?スロークエリを有効にする方法ログ分析ツール mysqldumpsh...

Reactプロジェクトで要素を使用する方法

React プロジェクトで要素フレームワークを使用するのは今回が初めてです。非常に単純な問題に遭遇し...

インターフェース設計の10の一般的なルール

<br />これは私がずっと前に集めた記事です。皆さんの参考のために共有したいと思います...

Vue3+Element+Tsは、フォームの基本的な検索リセットやその他の機能を実装します

Vue2 の記述スタイルから Vue3 の形式に切り替えると、記述スタイルとコード構造にいくつかの変...

MySQL InnoDB MRR 最適化ガイド

序文MRR は Multi-Range Read の略で、ランダム ディスク アクセスを削減し、ラン...

Mysql の varchar 型に関する注意点

varchar の保存ルール4.0 未満のバージョンでは、varchar(20) は 20 バイトを...

Nginx 構成の場所の一致ルールの例の説明

nginx の設定命令のスコープは、main、server、location の 3 種類に分けられ...

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...

Reactは二次的連鎖効果(階段効果)を実現する

この記事では、二次リンク効果を実現するためのReactの具体的なコードを参考までに共有します。具体的...

シンプルなメッセージボードケースを実現するJavaScript

参考までに、Javascriptを使用してメッセージボードの例(メッセージ削除あり)を実装します。具...

MySQL の完全バックアップとクイックリカバリ方法

過去 15 日間のデータをバックアップするシンプルな MySQL 完全バックアップ スクリプト。バッ...

Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

この記事では、centos7 環境でバイナリ インストール パッケージを使用して mysql5.6 ...

Dockerコンテナ監視の原理とcAdvisorのインストールおよび使用方法

本番環境におけるコンテナの稼働状況を監視することは非常に重要です。監視を通じて、コンテナの稼働状況を...

HTMLフォーム要素の包括的な理解

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<!DO...