1. PHP がデータベースとして mysql を選択するのはなぜですか?
2. MySQL データベースのユーザーを作成する
この記事は、主にユーザーを作成するための MySQL のステートメントの違いについて書いています。isher の blogspot から転送したものです。なぜ PHP がデータベースとして MySQL を選択するのかを Google で調べてみました。同時に、この問題は私の個人的な意見であり、間違っている点があれば指摘してください。
PHP がデータベースとして mysql を選択するのはなぜですか?
mysql は最も初期のオープンソース データベースです (GPL、GPL2 オープンソース規約に基づいて開発され、共有原則を享受しており、既存の一部は商用利用が計画されています) 無料ですが、そのパフォーマンスと安定性は劣っていません。商用データベース、PHP は C 言語に最も近いプログラムとして敷居が低く、商用サーバーに依存せずに無料のモジュールとしてリリースされており、多くのオープンソース ライブラリが存在します。インターネットで PHP 開発を提供できるため、PHP 開発者は、同様に GPL 規約に基づいて開発された Mysql データベースを低コストの開始パートナーとして使用できます。
2. MySQL でユーザーを追加する
個人的なレッスンですが、Mysql アカウントを追加するときは、ユーザー名とホスト (ローカルと %) を必ず引用符で囲んでください。そうしないと、コマンドが間違ってしまいます。
コマンド モード。各行の後にコマンド ステートメントの終わりを示す ; が続くことに注意してください。
形式: 「パスワード」で識別される「ユーザー名」@「ログインホスト」にデータベース.* での選択を許可します。
例 1. パスワード abc を持つユーザー test1 を追加します。これにより、彼は任意のホストにログインし、すべてのデータベースに対するクエリ、挿入、変更、および削除の権限を得ることができます。まず root ユーザーとして MYSQL に接続し、次のコマンドを入力します。
*.* に対する select、insert、update、delete を "test1"@"%" に許可します。 "abc" で識別されます。
すべての許可ステートメントを追加します。
例 1 より: 実行権限 (選択、挿入など) をすべての権限に変更します。これは、データベース権限の作成やデータベースの削除を含むすべての権限を持っていることを意味します。操作は 1 つのデータベース内に限定されなくなります。 。
*.* のすべての権限を '123456' で識別される 'root'@'%' に付与します。
例 1 (非補足) で追加されたユーザーは、ホストが % であり、% は任意の場所のホストを表し、local は「ローカル」を意味するため、非常に危険です。誰かが test1 のパスワードを知りたい場合、その人は、インターネット上の任意のコンピュータ上の mysql データベースに接続し、データに対してあらゆる操作を行うことができます。解決策については例 2 を参照してください。
例 1 の補足ステートメントによると、サーバーが管理ゾーンまたはリモート ゾーンにある場合、MySQL サーバーをリモートで管理する必要があり、MySQL サーバーにログインしたくない場合は、このステートメントを MySQL サーバーで使用しないようにしてください。ハイパー ターミナル経由でサーバーに接続する場合は、このステートメントを使用する必要がありますが、1 つ明確にしておきたいのは、この方法を使用してサーバーに接続できることと、他のユーザーも使用できるため、mysql パスワードを安全に保管しておくことです。
例 2. パスワード abc を持つユーザー test2 を追加します。これにより、ユーザーは localhost にのみログインでき、データベース mydb のクエリ、挿入、変更、削除ができるようになります (localhost は、MYSQL が配置されているローカル ホストを指します)このように、ユーザーが test2 のパスワードを知っていたとしても、インターネットからデータベースに直接アクセスすることはできず、MYSQL ホスト上の Web ページを介してのみアクセスできます。
mydb.* の select、insert、update、delete を「abc」で識別される「test2」@localhost に許可します。
test2 にパスワードを設定したくない場合は、別のコマンドを入力してパスワードを削除できます。
mydb.* の select、insert、update、delete を "" で識別される "test2"@localhost に許可します。
dez.* での select、insert、update、delete を、「123456」で識別される「test2」@「%」に許可します。