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 方法3と同じですが、REPLACEステートメントを使用するだけです
mysql>REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','system',PASSWORD('manager')) ; mysql> flush flush flush flush int in password()関数も使用する必要がありますが、フラッシュ特権を使用して確認を実行する必要はありません。
方法 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;
問題ありません。影響を受ける行は 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 の場合、「Y」は合計 14 個あり、対応する権限は次のとおりです (フィールド順に並べています)。
権限 テーブルの列名 対応する説明 スコープ使用方法
select Select_priv Only in select 権限は実際にテーブル table から取得する場合にのみ必要です
insert Insert_priv を使用すると、既存のテーブル table に新しい行を挿入できます
update Update_priv を使用すると、既存のテーブルの行のリストを更新できます新しい値
delete Delete_priv は、条件付き行テーブルを削除できます
Create Create_priv は、新しいデータベースとテーブルを作成できます データベース、テーブル、またはインデックス
Drop Drop_priv は、既存のデータベースとテーブルを破棄 (削除) します データベースまたはテーブル
reload Reload_priv は、次のことを可能にしますサーバーに認可テーブルを再度読み取るように指示する サーバー管理
shutdown Shutdown_priv は悪用される可能性があります (サーバーを終了し、他のユーザーへのサービスを拒否することによって) サーバー管理
プロセス Process_priv を使用すると、現在実行中のクエリのプレーン テキストを表示できます。パスワードの変更 Query Server Management
ファイル File_priv 権限はサーバー上で悪用される可能性がある 読み取り可能なファイルをデータベース テーブルに読み取る サーバー上のファイル アクセス
Grant Grant_priv を使用すると、他のユーザーのデータベースまたはテーブルに持っている権限を付与できます
References References_priv を使用すると、次のことが可能になりますログ ファイル データベースまたはテーブルを開いたり閉じたりします。
インデックス Index_priv を使用すると、インデックス テーブルを作成または破棄 (削除) できます。
Alter Alter_priv を使用すると、テーブルを変更できます。テーブルの名前を変更することで、権限システムをオーバーライドするために使用できます。 テーブル
ユーザーが選択、挿入、更新、削除の権限のみで作成され、ユーザーはデータベース内の既存のテーブルに対してのみ操作を実行できます。
これで、使用するデータベースを作成し、それを直接入力します。 XinXiKu という名前のデータベースを作成したい場合は、次のコードを使用できます:
mysql>create database XinXiKu ;
次のように表示されます: クエリ OK、1 行が影響を受けました (0.00 秒)
【関連する推奨事項】
2.mysqldump を使用したテーブルのバックアップと復元の詳細な例
3.PHP を使用して mysql に画像を保存する例の詳細な説明
4. mysqldump を使用してテーブルをバックアップおよび復元する方法正規表現を使用してデータベース内のコンテンツを置換する例の詳細な説明以上がMySQLでのパスワードやアクセス制限の変更例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。