私が作成してホストするウェブサイトのデータベースはどのように保存されますか?

私が作成してホストするウェブサイトのデータベースはどのように保存されますか?

私はウェブ開発を学んでおり、Python (Flask) と HTML、CSS、そして少しの JavaScript を使用しています。データベース (MySQL) を自分のウェブサイトに接続する方法と、データベースがどこにどのように保存されるかを知りたいです。MySQL を自分のウェブサイトに組み込む方法と、データベースがインターネット上でどのように保存され、アクセスされるかを知りたいです。知識を共有していただき、ありがとうございます。

答え1

私は決して Flask フレームワークの専門家ではありませんが、Flask と MySQL がどのように連携するかという全体像について、いくつかアドバイスできると思います。Web サイトの運営にどのオペレーティング システムを使用しているかはわかりませんので、例として Linux を使用します。

簡単に言えば、Flask は Python を使用してフロントエンド (HTML、CSS、JavaScript) とバックエンド データベース (MySQL) を抽象化して接続し、Apache2 などの従来のサーバー ソフトウェアの必要性をなくして Web サイトを提供するマイクロフレームワークです。

Flaskはウェブページの提供を担当するので、別のソフトウェアをインストールする必要はありませんが、FlaskにはMySQLなどの従来のデータベースソフトウェアが必要です。このページUbuntu に MySQL をインストールする方法については、こちらをご覧ください。

まず、コマンドラインまたはGUIアプリケーションを使用して、マシン上で実行されているMySQLにアクセスするためのデータベースとテーブルを設定する必要があります。ここにMySQLがあります。コマンドラインチートシートGUIアプリケーションを使用してデータベースを操作する場合は、MySQLワークベンチはこちらFlaskアプリを新しくセットアップしたデータベースに接続する方法については、ここにチュートリアルがあります役に立つかもしれません。このチュートリアルに従うと、データベース ソフトウェアとデータベース データは、Python Flask コードを実行するのと同じマシンで実行され、保存されます。

「」の意味がよく分かりません。データベースがインターネット上でどのように保存され、アクセスされるか「しかし、役に立つかもしれない説明があります。あなたのウェブサイトの訪問者はFlask Pythonコードとやり取りし、それがMySQLとやり取りします。これがあなたのウェブサイトがデータベースに保存されているデータにアクセスする方法です。ない訪問者がサーバー上で実行されているMySQLソフトウェアを直接操作できるようにしたい場合。あなた管理目的でMySQLにリモートアクセスしたい場合、設定方法は次の通りです

この情報がお役に立てば幸いです!

答え2

MySQL を自分の Web サイトに組み込む方法を知りたいです。

つまり、MySQL は、他のアプリケーションと同様に、どのコンピュータで実行したい場合でも、そのコンピュータが使用しているオペレーティング システムに関係なく、インストールできます。つまり、.zipWindows の場合は MSI インストーラまたはアーカイブ、.dmgMacOS の場合はアーカイブ.deb、Linux などの場合は.rpm、などのファイルが必要になります。tar.xz

ご希望の場合、MySQLのコミュニティバージョンはここからダウンロードできますただし、Windows以外のシステムの場合は、プラットフォームのパッケージマネージャを使用してMySQLをインストールする方が簡単/良い場合があります(可能な場合)。また、Python 用 MySQL コネクタまたはMySQLに接続するための別のオプションPython/Flask がインストールされているのと同じコンピューター上の Python から。

MySQL をインストールしたら、それがコンピュータの OS のサービスとして実行されていることを確認する必要があります。このサービスが通常動作するポートは 3306 です。これにより、Python/Flask などのサードパーティ アプリケーションまたはスクリプトがそのポートで MySQL にリクエストを送信できるようになります (つまり、データベース クエリを MySQL に送信し、応答 [データ] を受け取ります)。

つまり、次のような状況になる可能性が高いということです。

  • 訪問者がサイトに接続したときに(訪問者自身で、または訪問者に代わって)、Flask アプリから MySQL にリクエストを送信するコードを Flask で記述します。

  • これらのリクエストの結果を処理するためのコードをさらに記述します。

  • 処理したデータを使用して、リクエストの結果に基づいて訪問者に情報を返すためのさらに多くのコードを記述します。

Flaskを使っているなら、以下をご覧になってみてください。Flask-SQLAlchemy100% 確実ではありませんが、これにより他のコネクタ (上記) が不要になる可能性があります。

MySQL 対 Python/Flask

誤解のないように言うと、MySQL は Python や Flask とは完全に独立して動作します。Python/Flask がシステムになくても、MySQL をインストールして実行できます。Python/Flask インストールと同じコンピューターで MySQL を実行しても問題ありませんが、MySQL はローカル ネットワーク上の別のコンピューターや、ネットワーク外でも実行できます (ただし、この最後のオプションはセキュリティ上あまり良くありません)。Python/Flask がポート 3306 などを介して MySQL にクエリを送信できる限り、MySQL が実際にどこにインストールされているかはほとんど問題になりません。

MySQL の設定

MySQL を希望どおりに実行したり、Python/Flask で使用できるようにするには、いくつかの設定が必要になる可能性があることに注意してください。

Windowsでは、MSIインストーラーがインストール中にMySQLの初期設定を案内します。この質問Windows のセットアップ ウィザードで選択できる内容に関する基本的なヒントが必要な場合。

Windows 版を使用する場合.zip、Windows 版以外のバージョンを使用する場合、または初期インストール後に変更を加える場合は、 というファイルを編集する必要がある可能性がありますmysql.ini。これは単純なテキスト ファイルですが、MySQL の実行に使用する設定の多くが含まれています。このファイルに変更を加えた場合は、変更を有効にするために MySQL サービスを再起動する必要があります。このファイルの場所はオペレーティング システムによって異なることに注意してください。

ちょっとした注意点として、MySQL は最初は localhost 以外からの接続をブロックする場合があります。MySQL を別のコンピューターまたは仮想マシンにインストールしている場合、これが問題になることがあります。とはいえ、必要に応じて、または適切と思われる場合は、localhost 以外の接続を許可するのは比較的簡単です。

データベースはどのように保存され、インターネット経由でアクセスされるのでしょうか?

MySQL データベースは、MySQL が動作するサーバー上に保存されます。繰り返しになりますが、セキュリティ上の理由から、MySQL はローカル ネットワーク上のコンピューター (Python/Flask アプリと同じコンピューターであるかどうかに関係なく) で実行する必要があります。

訪問者はインターネット経由で Flask インスタンスにアクセスし、Python/Flask アプリは MySQL にローカルでデータを要求します。MySQL はデータを Flask アプリに返し、Flask アプリはそのデータを処理し、処理した情報を訪問者に返します (多くの場合、Web ページで)。

関連情報