権限とデータベース設計 ユーザー管理
/* ユーザーと権限の管理 */ ------------------ ユーザー情報テーブル: 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
開発中、MySQL へのリモートアクセスでよく問題に遭遇します。そのたびに検索する必要があり、面倒に...
目次1. pidファイルの紹介2.ソケットファイルの紹介要約:ソケット ファイル: Unix ドメイ...
目次序文LEDトリガー探索を始めるLEDデバイス登録LEDディレクトリ類推によって理解するクラスディ...
システムメンテナンス中は、いつでも CPU 使用率を確認し、対応する情報に基づいてシステムの状態を分...
多くのウェブサイトを閲覧すると、ブラウザのアドレスバーの前に小さなアイコンがあり、ブラウザのタブの位...
1. コマンドの紹介watch コマンドは、指定されたコマンドを定期的に実行し、実行結果を全画面に表...
データクリーニング (ETL)コアビジネスの MapReduce プログラムを実行する前に、まずデー...
WeChat 8.0 アップデートの主な特徴は、アニメーション絵文字のサポートです。送信するメッセー...
1. レンダリング2. 操作手順1. テンセントマップキーを申請する - 住所2. ミニプログラムの...
プレビューアドレス: https://ovsexia.gitee.io/leftfixed/ htm...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
データベースを操作する過程では、いくつかの指標を日付別にまとめたり、一定期間内の合計金額をカウントし...
[LeetCode] 177. 最も高い給与従業員テーブルからn番目に高い給与を取得する SQL ...
このチュートリアルでは、ウェブデザインにおけるFORMフォームタグのさまざまな属性の応用を紹介します...
RHEL/CentOS シリーズの Linux オペレーティング システムには MySQL ソース自...