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 サーバーで使用しないようにしてください。ハイパー ターミナルを介してサーバーにログインするには、このステートメントを使用する必要がありますが、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 に許可します。
「123456」で識別される「test2」@「%」に dez.* で select、insert、update、delete を許可します。