내가 만들고 호스팅하는 웹사이트의 데이터베이스는 어떻게 저장되나요?

내가 만들고 호스팅하는 웹사이트의 데이터베이스는 어떻게 저장되나요?

저는 웹 개발을 배우고 있으며 약간의 JavaScript가 포함된 HTML 및 CSS와 함께 Python(플라스크)을 사용하고 있습니다. 데이터베이스(MySQL)를 내 웹사이트에 연결하는 방법과 데이터베이스가 어디에 어떻게 저장되는지 알고 싶습니다. 내 웹사이트에 MySQL을 통합하는 방법과 인터넷을 통해 데이터베이스를 저장하고 액세스하는 방법을 알고 싶습니다. 귀하의 지식을 공유해 주셔서 감사합니다.

답변1

나는 결코 Flask 프레임워크의 전문가는 아니지만 Flask와 MySQL이 함께 작동하는 방식에 대한 더 큰 그림에 대해 몇 가지 조언을 제공할 수 있다고 생각합니다. 귀하의 웹 사이트를 제공하기 위해 어떤 운영 체제를 사용하고 있는지 잘 모르므로 Linux를 예로 사용하겠습니다.

지나치게 단순화된 Flask는 Python을 사용하여 프런트 엔드(HTML, CSS, JavaScript), 백엔드 데이터베이스(MySQL)를 추상화 및 연결하고 Apache2와 같은 기존 서버 소프트웨어의 필요성을 대체하는 웹 사이트를 제공하는 마이크로 프레임워크입니다.

Flask는 웹페이지 제공을 관리하므로 별도의 소프트웨어를 설치할 필요가 없지만 Flask에는 MySQL과 같은 기존 데이터베이스 소프트웨어가 필요합니다. 보세요이 페이지Ubuntu에 MySQL을 설치하는 방법에 대한 자세한 내용은

머신에서 실행 중인 MySQL에 액세스하려면 먼저 명령줄이나 GUI 애플리케이션을 사용하여 데이터베이스와 테이블을 설정해야 합니다. 여기 MySQL이 있습니다명령줄 치트 시트. GUI 애플리케이션을 사용하여 데이터베이스와 상호 작용하는 것을 선호하는 경우여기 MySQL 워크벤치가 있습니다. Flask 앱을 ​​새로 설정된 데이터베이스에 연결하는 방법에 대한 자세한 내용은여기 튜토리얼이 있습니다도움이 될 수도 있습니다. 이 튜토리얼을 따르면, 데이터베이스 소프트웨어와 데이터베이스 데이터가 Python Flask 코드를 실행할 동일한 머신에서 실행되고 저장됩니다.

"라는 말이 무슨 뜻인지 잘 모르겠습니다.데이터베이스가 인터넷을 통해 저장되고 액세스되는 방법"하지만 여기에 도움이 될 수 있는 몇 가지 설명이 있습니다. 귀하의 웹 사이트 방문자는 Flask Python 코드와 상호 작용하게 되며, 이는 다시 MySQL과 상호 작용하게 됩니다. 이것이 귀하의 웹 사이트가 데이터베이스에 저장된 데이터에 액세스할 수 있는 방법입니다.~ 아니다방문자가 서버에서 실행되는 MySQL 소프트웨어와 직접 상호 작용할 수 있기를 바랍니다. 만약에관리 목적으로 MySQL에 원격으로 액세스하려는 경우설정 방법은 다음과 같습니다..

이 정보가 도움이 되기를 바랍니다!

답변2

내 웹사이트에 MySQL을 통합하는 방법을 알고 싶습니다.

즉, 컴퓨터가 사용하는 운영 체제에 관계없이 다른 애플리케이션과 마찬가지로 실행하려는 컴퓨터에 MySQL을 설치할 수 있습니다. 이는 .zipWindows의 MSI 설치 프로그램 또는 아카이브, .dmgMacOS의 아카이브 및 .debLinux 등의 파일을 .rpm의미 합니다.tar.xz

당신이 원하는 경우,여기서 MySQL의 커뮤니티 버전을 다운로드할 수 있습니다.. 그러나 Windows가 아닌 시스템의 경우 플랫폼의 패키지 관리자를 사용하여 MySQL을 설치하는 것이 더 쉽고/나을 수 있습니다(가능한 경우). 또한 다음을 설치해야 할 수도 있습니다.Python용 MySQL 커넥터또는MySQL에 연결하는 또 다른 옵션Python/Flask 설치와 동일한 컴퓨터의 Python에서.

MySQL이 설치되면 컴퓨터 OS에 대한 서비스로 실행되고 있는지 확인해야 합니다. 이 서비스가 일반적으로 작동하는 포트는 3306입니다. 이를 통해 Python/Flask와 같은 타사 응용 프로그램이나 스크립트가 해당 포트에서 MySQL에 요청을 할 수 있습니다(즉, 데이터베이스 쿼리를 MySQL에 보내고 응답 [데이터]를 다시 받을 수 있습니다).

이는 귀하가 다음과 같은 상황에 처할 가능성이 높다는 것을 의미합니다.

  • 방문자가 사이트에 연결할 때(자체적으로 또는 방문자를 대신하여) Flask 앱에서 MySQL에 요청하도록 Flask에 코드를 작성합니다.

  • 해당 요청의 결과를 처리하기 위해 더 많은 코드를 작성합니다.

  • 요청 결과에 따라 방문자에게 정보를 반환하기 위해 처리한 데이터를 사용하는 더 많은 코드를 작성합니다.

Flask를 사용하고 있으므로 다음을 살펴보고 싶을 수도 있습니다.Flask-SQL연금술. 100% 확실하지는 않지만 이로 인해 다른 커넥터(위)가 필요하지 않을 수 있습니다.

MySQL과 Python/Flask 비교

분명히 말하면 MySQL은 Python이나 Flask와 완전히 독립적으로 작동합니다. Python/Flask가 시스템에 없어도 MySQL을 설치하고 실행할 수 있습니다. Python/Flask 설치와 동일한 컴퓨터에서 MySQL을 실행하는 데 아무런 문제가 없지만 MySQL은 로컬 네트워크 또는 네트워크 외부의 별도 컴퓨터에서도 실행할 수 있습니다(이 마지막 옵션은 보안에 적합하지 않지만). Python/Flask가 ex를 통해 MySQL에 쿼리를 보낼 수 있는 한. 포트 3306이면 MySQL이 실제로 어디에 설치되어 있는지는 거의 중요하지 않습니다.

MySQL 구성

MySQL이 원하는 방식으로 실행되거나 Python/Flask에서 사용 가능하려면 일부 구성이 필요할 수 있습니다.

Windows에서는 MSI 설치 프로그램이 설치 중에 MySQL의 초기 구성을 안내합니다. 보세요이 질문Windows의 설정 마법사에서 선택할 수 있는 항목에 대한 몇 가지 기본 팁이 필요한 경우.

Windows에서 버전을 사용하거나 .zipWindows가 아닌 버전을 사용하거나 초기 설치 후 변경하려는 경우 mysql.ini. 이것은 간단한 텍스트 파일이지만 MySQL이 실행하는 데 사용하는 많은 설정을 담고 있습니다. 이 파일을 변경한 경우 변경 사항을 적용하려면 MySQL 서비스를 다시 시작해야 합니다. 이 파일의 위치는 운영 체제에 따라 다릅니다.

사소한 주의 사항으로 MySQL은 처음에 localhost 이외의 연결을 차단할 수 있습니다. 다른 컴퓨터나 가상 머신에 MySQL을 설치한 경우 문제가 발생할 수 있습니다. 즉, 필요에 따라 또는 적절하다고 판단되는 대로 로컬 호스트가 아닌 연결을 허용하는 것은 비교적 간단합니다.

데이터베이스는 어떻게 인터넷을 통해 저장되고 액세스됩니까?

MySQL 데이터베이스는 MySQL이 작동하는 서버에 저장됩니다. 다시 한 번 말씀드리지만, 보안을 위해 MySQL이 로컬 네트워크의 컴퓨터에서 실행되기를 원할 것입니다(Python/Flask 앱과 동일한 컴퓨터에 있는지 여부에 관계 없음).

방문자는 인터넷을 통해 Flask 인스턴스에 접속하고 Python/Flask 앱은 MySQL에 로컬 데이터 요청을 보냅니다. MySQL은 Flask 앱에 데이터를 다시 제공하고, Flask 앱은 해당 데이터를 처리한 다음 처리된 정보를 방문자에게 다시 제공합니다(종종 웹 페이지에서).

관련 정보