mysql|アクセス|詳しい説明
MySQL は、真のマルチユーザー、マルチスレッド SQL データベース サーバーです。 MySQL はクライアント/サーバー構造として実装されており、サーバー デーモン mysqld とさまざまなクライアント プログラムおよびライブラリで構成されます。ソース コードのオープン性と安定性、および人気の Web サイト プログラミング言語 PHP との完璧な統合により、現在では多くの Web サイトでバックエンド データベースとして使用され、広く使用されています。セキュリティ上の理由から、さまざまなユーザーの要件を満たすために、各ユーザーにさまざまなデータベースへのアクセス制限を割り当てる必要があります。参考までに、以下で個別に説明します。
1. MySQL パスワード変更方法のまとめ
まず、注意すべき点は、通常の状況では、MySQL パスワードを変更するには mysql の root 権限が必要であるため、管理者に変更を依頼しない限り、一般ユーザーはパスワードを変更できません。それ。
方法 1
phpMyAdmin (MySql データベースのグラフィカル管理ツール) を使用します。これは、SQL ステートメントを直接使用して mysql データベース ライブラリのユーザー テーブルを変更するのが最も簡単ですが、PASSWORD 関数を使用することを忘れないでください。ユーザーを挿入するには、「挿入」コマンドを使用します。ユーザーを変更するには「更新」コマンドを使用し、ユーザーを削除するには「削除」コマンドを使用します。データ テーブルのユーザー フィールドについては、このセクションで後ほど詳しく説明します。
方法 2
mysqladmin を使用します。
mysqladmin -u root -p oldpassword newpasswd
と入力します。 このコマンドを実行した後、root のパスワードが newpasswd に変更されるように、root の元のパスワードを入力する必要があります。同様に、コマンド内の root を自分のユーザー名に変更すると、自分のパスワードを変更できます。 もちろん、mysqladmin が mysql サーバーに接続できない場合、または mysqladmin を実行できない場合、このメソッドは無効であり、mysqladmin はパスワードをクリアできません。
次のメソッドは mysql プロンプトで使用され、mysql root 権限が必要です:
方法 3
mysql> INSERT INTO mysql.user (Host,User,Password) VALUES ('%','system' , PASSWORD( 'manager'));
mysql> FLUSH PRIVILEGES
正確に言うと、これはユーザーを追加することであり、ユーザー名は system、パスワードは manager です。 PASSWORD 機能を使用してから、FLUSH PRIVILEGES を使用して確認を実行する必要があることに注意してください。
方法 4
REPLACE ステートメントを使用するだけで方法 3 と同じ
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','system',PASSWORD('manager') ) ;
mysql> FLUSH PRIVILEGES
方法 5
SET PASSWORD ステートメントを使用します
mysql> SET PASSWORD FOR system@"%" = PASSWORD('manager');
PASSWORD() 関数も使用する必要があります確認を実行するには、FLUSH PRIVILEGES ではないことが必要です。
方法 6
GRANT... IDENTIFIED BY ステートメントを使用して承認します。
mysql> GRANT USAGE ON *.* TO system@"%" IDENTIFIED BY 'manager';
ここでは PASSWORD() 関数は不要であり、確認を実行するために FLUSH PRIVILEGES を使用する必要もありません。
注: PASSWORD() 関数はパスワードの暗号化に使用され、プログラム内の MySql によって自動的に解釈されます。
2. MySqlでアクセス制限を設定する方法
ユーザーを設定するには2つの方法があります。
Mysql 実行ディレクトリ (通常は c:mysqlbin) を入力します。 「mysqld-shareware.exe」と入力し、「mysql --user=root mysql」と入力します。そうしないと、新しいユーザーを追加できません。 mysql> プロンプトを入力して操作を実行します。
ユーザー名システムとユーザー パスワード マネージャーを備えたスーパー ユーザーを作成するとします。
方法 1
Grant コマンドを使用して承認し、次のようにコードを入力します:
mysql>GRANT ALL PRIVILEGES ON *.* TO system@localhost IDENTIFIED BY 'manager' WITH GRANT OPTION;
が表示されるはずです: Query OK,影響を受ける行は 0 行 (0.38 秒)
方法 2
ユーザーの各権限を設定します:
mysql>INSERT INTO user VALUES('localhost','system',PASSWORD('manager'), 'Y',' Y ','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y' ) ;
MySQL バージョン 3.22.34 の場合、合計 14 個の「Y」があり、それらに対応する権限は次のとおりです (フィールド順に並べています):
権限テーブルの列名と対応する説明使用範囲
select Select_priv は、テーブルから取得するときに実際の Select 権限が必要な場合にのみ使用されます
insert Insert_priv を使用すると、既存のテーブルに新しい行を挿入できます
update Update_priv を使用すると、既存のテーブルの行のリストを新しい値で更新できます
delete Delete_priv を使用すると、条件を満たす行を削除できます Table
create Create_priv を使用すると、新しいデータベースとテーブルのデータベース、テーブル、またはインデックスを作成できます
drop Drop_priv 既存のデータベースとテーブルを破棄 (削除) します
reload Reload_priv を使用すると、次のことができますサーバーに認可テーブルを読み込むように指示する サーバー管理
shutdown Shutdown_priv 悪用の可能性あり (サーバーを終了することで他のユーザーへのサービスを拒否する) サーバー管理
process Process_priv パスワードの設定や変更を含む、現在実行中のクエリのプレーン テキストを表示できます。クエリ サーバー管理
file File_priv 権限を悪用してサーバー上のあらゆるものを読み取ることができる データベース テーブル サーバー上でファイル間の読み取りアクセスが可能
grant Grant_priv を使用すると、他のユーザーのデータベースまたはテーブルに所有する権限を付与できます
references References_priv を使用すると、レコード ファイルのデータベースまたはテーブルを開いたり閉じたりできます
index Index_priv を使用すると、インデックス テーブルを作成または破棄 (削除) できます
alter Alter_priv を使用すると、変更することができますテーブルの名前を変更することで、テーブルを使用して権限システム テーブルをオーバーライドできます
選択、挿入、更新、削除の権限のみを持ってユーザーが作成された場合、ユーザーはデータベースの既存のテーブルに対してのみ操作を実行できます。
これで、使用するデータベースを作成できるようになりました。たとえば、XinXiKu という名前のデータベースを作成したい場合は、次のコードを使用できます:
mysql>create database XinXiKu;
should表示: クエリは OK、1 行が影響を受けました (0.00 秒)
🎜