権限とデータベース設計 ユーザー管理
/* ユーザーと権限の管理 */ ------------------ ユーザー情報テーブル: mysql.user -- 権限をフラッシュする -- ユーザーの追加 CREATE USER kuangshen IDENTIFIED BY '123456' CREATE USER ユーザー名 IDENTIFIED BY [PASSWORD] パスワード (文字列) - mysql データベースに対するグローバル CREATE USER 権限、または INSERT 権限を持っている必要があります。 - ユーザーの作成のみ可能で、権限を付与することはできません。 - ユーザー名、引用符に注意してください: 例: 'user_name'@'192.168.1.1' - パスワードも引用符で囲む必要があり、純粋な数字のパスワードも引用符で囲む必要があります - パスワードをプレーンテキストで指定するには、PASSWORD キーワードを省略します。 PASSWORD() 関数によって返されるハッシュ値としてパスワードを指定するには、キーワード PASSWORD を含めます。 -- ユーザーの名前を変更する RENAME USER kuangshen TO kuangshen2 ユーザー名 old_user を new_user に変更 -- パスワードを設定する SET PASSWORD = PASSWORD('password') -- 現在のユーザーのパスワードを設定する SET PASSWORD FOR username = PASSWORD('password') -- 指定したユーザーのパスワードを設定する -- ユーザーを削除する DROP USER kuangshen2 DROP USER username -- 権限の割り当て/ユーザーの追加 GRANT permission list ON table name TO username [IDENTIFIED BY [PASSWORD] 'password'] - すべての権限はすべての権限を意味します - *.* はすべてのライブラリ内のすべてのテーブルを意味します - ライブラリ名.テーブル名はライブラリの下のテーブルを意味します - 表示権限 SHOW GRANTS FOR root@localhost; SHOW GRANTS FOR username - 現在のユーザー権限を表示します SHOW GRANTS; または SHOW GRANTS FOR CURRENT_USER; または SHOW GRANTS FOR CURRENT_USER(); -- 権限を取り消す REVOKE permission list ON table name FROM user name REVOKE ALL PRIVILEGES, GRANT OPTION FROM user name -- すべての権限を取り消す
-- 権限リスト ALL [PRIVILEGES] -- GRANT OPTION ALTERを除くすべての単純な権限を設定します -- ALTER TABLEの使用を許可します ALTER ROUTINE -- ストアド プロシージャを変更または削除します CREATE -- CREATE TABLE の使用を有効にします CREATE ROUTINE -- ストアドルーチンを作成する CREATE TEMPORARY TABLES -- CREATE TEMPORARY TABLEの使用を許可する CREATE USER - CREATE USER、DROP USER、RENAME USER、および REVOKE ALL PRIVILEGES の使用を有効にします。 CREATE VIEW -- CREATE VIEWの使用を許可します DELETE -- DELETEの使用を許可します DROP -- DROP TABLEの使用を許可します EXECUTE -- ユーザーがストアド プロシージャを実行できるようにします。 FILE -- SELECT ... INTO OUTFILE および LOAD DATA INFILE の使用を許可します。 INDEX -- CREATE INDEX と DROP INDEX の使用を許可します INSERT -- INSERTの使用を許可します LOCK TABLES - SELECT 権限を持つテーブルに対して LOCK TABLES を使用できます。 PROCESS -- SHOW FULL PROCESSLIST の使用を有効にする REFERENCES -- 実装されていません RELOAD -- FLUSH は許可されています レプリケーション クライアント - ユーザーがスレーブ サーバーまたはマスター サーバーのアドレスを問い合わせることができます。レプリケーション スレーブ - レプリケーション スレーブ サーバー (マスター サーバーからバイナリ ログ イベントを読み取る) SELECT -- SELECTの使用を許可する SHOW DATABASES -- すべてのデータベースを表示します SHOW VIEW -- SHOW CREATE VIEWの使用を有効にします SHUTDOWN -- mysqladmin シャットダウンの使用を許可する SUPER - CHANGE MASTER、KILL、PURGE MASTER LOGS、SET GLOBAL ステートメント、および mysqladmin debug コマンドの使用を有効にします。max_connections に達した場合でも、接続 (1 回) できます。 UPDATE -- UPDATEの使用を許可する USAGE -- 「権限なし」の同義語 GRANT OPTION -- 権限の付与を許可する /* テーブルメンテナンス */ -- テーブルのキーワード分布を分析して保存します。ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE テーブル名... -- 1 つ以上のテーブルにエラーがないか確認します CHECK TABLE tbl_name [, tbl_name] ... [オプション] ... オプション = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED} -- データ ファイルをデフラグします OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... MySQL バックアップデータベースバックアップの必要性
MySQLデータベースのバックアップ方法
mysqldump クライアント 効果:
-- エクスポート 1. テーブルをエクスポートします -- mysqldump -uroot -p123456 school student >D:/a.sql mysqldump -u ユーザー名 -p パスワード データベース名 テーブル名 > ファイル名 (D:/a.sql) 2. 複数のテーブルをエクスポートする -- mysqldump -uroot -p123456 school student result >D:/a.sql mysqldump -u ユーザー名 -p パスワード データベース名 テーブル 1 テーブル 2 テーブル 3 > ファイル名 (D:/a.sql) 3. すべてのテーブルをエクスポートします --mysqldump -uroot -p123456 school >D:/a.sql mysqldump -u ユーザー名 -p パスワード データベース名 > ファイル名 (D:/a.sql) 4. ライブラリをエクスポートします -- mysqldump -uroot -p123456 -B school >D:/a.sql mysqldump -u ユーザー名 -p パスワード -B データベース名 > ファイル名 (D:/a.sql) -w を使用してバックアップ条件を実行できます -- インポート 1. mysql にログインする場合: -- source D:/a.sql ソースバックアップファイル 2. ログインせずに、mysql -u ユーザー名 -p パスワード データベース名 < バックアップファイル 正規化されたデータベース設計なぜデータベース設計が必要なのでしょうか?データベースが複雑な場合は、データベースを設計する必要があります 不適切なデータベース設計:
優れたデータベース設計:
ソフトウェア プロジェクト開発サイクルにおけるデータベース設計:
データベースを設計する手順
3つのパラダイム質問: データの正規化はなぜ必要なのでしょうか? 不適切なテーブル設計によって発生する問題:
第一正規形(1st NF) 最初のパラダイムの目標は、各列の原子性を保証することです。各列が最小の分割不可能なデータ単位である場合、最初のパラダイムは満たされます。 第 2 正規形 (2nd NF) 第 2 正規形 (2NF) は第 1 正規形 (1NF) に基づいて構築されます。つまり、第 2 正規形 (2NF) を満たすには、まず第 1 正規形 (1NF) を満たす必要があります。 2番目のパラダイムでは、各テーブルが1つのことだけを記述する必要がある。 第 3 正規形 (3rd NF) リレーションが第 2 正規形であり、主キー以外の列が主キー列に推移的に依存していない場合、そのリレーションは第 3 正規形になります。 3 番目のパラダイムでは、データ テーブル内の各データ列が主キーに間接的ではなく直接的に関連付けられていることを確認する必要があります。 正規化とパフォーマンスの関係 特定のビジネス目標を達成するには、データベースの正規化よりもデータベースのパフォーマンスの方が重要です。 データを正規化する場合、データベースのパフォーマンスを総合的に考慮する必要があります。 特定のテーブルに追加のフィールドを追加することで、そのテーブル内の情報の検索にかかる時間を大幅に短縮できます。 計算列を特定のテーブルに挿入すると、クエリが簡単になります。 MySQL のパーミッションとデータベース設計事例に関する記事はこれで終了です。MySQL のパーミッションとデータベース設計についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Podmanはコンテナを自動的に起動し、Dockerと比較します
>>: レイアウトサイズを変更するために左右にドラッグする純粋なCSS
目次1. 使い方が簡単2. DISTINCTを使用して重複を削除する3. COUNT()の詳細な紹介...
問題を見つける最近、以前のデータを入力していたときに、プログラムが突然次のエラーを報告しました。 [...
この問題を理解する前に、まず MySQL テーブルのストレージ構造を確認し、次にバイナリ ツリー、マ...
背景まず最初に、私はフロントエンド開発の専門家ではないことを述べておきたいと思います。私の以前のコン...
[LeetCode] 183.注文しない顧客Web サイトに、Customers テーブルと Or...
コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...
失敗のシナリオMySQL データベースに絵文字表現を挿入するために JDBC を呼び出すと、例外ja...
1.これは1. 誰が誰に電話をかけますか?例: 関数foo(){ console.log(&quo...
MySQLをインストールする6つの手順(インストールパッケージのみがインストール場所を選択できます)...
先週、先生が私に数字当てゲームをするちょっとした宿題を出しました。とても面白いと思ったので、適当に書...
目次まずwgetをインストールするヘルプマニュアルを見る1. wgetを使用して単一のファイルをダウ...
各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選...
目次Vueプロジェクトのパッケージ化、起動、最適化Vueプロジェクトのパッケージ化プロジェクトホステ...
目次1. データベースとは何ですか? 2. データベースの分類は? 3. データベースとデータ構造の...
*ページを作成する: 2つの入力ボックスとボタン*コードと手順/* 1. 入力行と列の値を取得する2...