Я изучаю веб-разработку и использую python (flask) вместе с HTML и CSS с кусочками JavaScript. Я хочу знать, как я могу подключить базу данных (MySQL) к моему веб-сайту и где и как она будет храниться. Я хочу знать, как я могу интегрировать MySQL с моим веб-сайтом, а также как база данных будет храниться и к ней будет осуществляться доступ через Интернет. Спасибо, что поделились своими знаниями.
решение1
Я ни в коем случае не эксперт по фреймворку Flask, но я думаю, что могу дать несколько советов по более общей картине того, как Flask и MySQL работают вместе. Я не уверен, какую операционную систему вы используете для обслуживания вашего веб-сайта, поэтому я буду использовать Linux в качестве примера.
Проще говоря, Flask — это микрофреймворк, который использует Python для абстрагирования и соединения вашего интерфейса (HTML, CSS, JavaScript), вашей внутренней базы данных (MySQL), а также для обслуживания вашего веб-сайта, заменяя необходимость в традиционном серверном программном обеспечении, таком как Apache2.
Flask заботится об обслуживании вашей веб-страницы, поэтому вам не нужно устанавливать отдельное программное обеспечение, но Flask требует традиционного программного обеспечения для работы с базами данных, например MySQL. Взгляните наэта страницадля получения информации об установке MySQL в Ubuntu.
Сначала вам нужно будет настроить базу данных и таблицы с помощью командной строки или графического приложения для доступа к MySQL, работающему на вашем компьютере. Вот MySQLшпаргалка по командной строке. Если вы предпочитаете взаимодействовать с базой данных с помощью графического пользовательского интерфейса,вот MySQL Workbench. Для получения информации о том, как подключить ваше приложение Flask к вашей только что настроенной базе данных,вот учебниквам может быть полезно. Следуя этому руководству, ваше программное обеспечение базы данных и данные базы данных будут работать и храниться на той же машине, на которой будет работать ваш код Python Flask.
Я не совсем понимаю, что вы имеете в виду под "как база данных будет храниться и как к ней будет осуществляться доступ через Интернет" но вот некоторые пояснения, которые могут быть полезны. Посетители вашего сайта будут взаимодействовать с вашим кодом Flask Python, который в свою очередь будет взаимодействовать с MySQL. Вот как ваш сайт может получить доступ к данным, хранящимся в базе данных. Вы, безусловно,нетхотите, чтобы ваши посетители могли напрямую взаимодействовать с программным обеспечением MySQL, работающим на вашем сервере. Еслитыхотите получить удаленный доступ к MySQL для целей администрирования,вот как это настроить.
Надеюсь, эта информация поможет!
решение2
Я хотел бы узнать, как интегрировать MySQL в свой веб-сайт.
Короче говоря, вы можете установить MySQL на любом компьютере, на котором вы хотите его запустить, как и любое другое приложение, для любой операционной системы, которую использует компьютер. Это означает установщик MSI или .zip
архив на Windows, скорее всего .dmg
архив на MacOS и файлы .deb
, .rpm
, tar.xz
и т. д. для Linux и т. д.
Если хочешь,Вы можете загрузить версию MySQL Community здесь. Обратите внимание, что для систем, отличных от Windows, может быть проще/лучше использовать менеджер пакетов вашей платформы для установки MySQL (если это возможно). Вам также, вероятно, потребуется установитьКоннектор MySQL для Pythonилиеще один вариант подключения к MySQLиз Python на том же компьютере, где установлена ваша версия Python/Flask.
После установки MySQL вам нужно будет убедиться, что он работает как служба для ОС компьютера. Порт, на котором обычно работает эта служба, — 3306. Это позволяет сторонним приложениям или скриптам, таким как Python/Flask, делать запросы к MySQL на этом порту (т. е. отправлять запросы к базе данных MySQL и получать ответы [данные]).
Это означает, что вы, скорее всего, будете:
Написание кода на Flask для выполнения запросов к MySQL из вашего приложения Flask, когда посетитель подключается к вашему сайту (самостоятельно или от имени посетителя).
Написание дополнительного кода для обработки результатов этих запросов.
Написание еще большего количества кода для использования обработанных вами данных для возврата информации посетителю на основе результатов запроса.
Поскольку вы используете Flask, вам, возможно, захочется взглянуть наFlask-SQLAlchemy. Я не уверен на 100%, но это может устранить необходимость в других разъемах (выше).
MySQL против Python/Flask
Для ясности, MySQL работает полностью независимо от Python или Flask. Вы можете установить и запустить MySQL даже без Python/Flask в системе. Хотя нет ничего плохого в запуске MySQL на том же компьютере, что и ваша установка Python/Flask, MySQL также может быть запущен на отдельном компьютере в вашей локальной сети или даже за ее пределами (хотя последний вариант не очень хорош для безопасности). Пока Python/Flask может отправлять запросы в MySQL через порт 3306, не имеет значения, где на самом деле установлен MySQL.
Конфигурация MySQL
Имейте в виду, что MySQL, скорее всего, потребует некоторой настройки, прежде чем он будет работать так, как вам нужно, или станет доступен для Python/Flask.
В Windows установщик MSI проведет вас через начальную настройку MySQL во время установки. Посмотритеэтот вопросесли вам нужны некоторые основные советы о том, что можно выбрать в мастере установки в Windows.
Если вы используете .zip
версию для Windows, используете версию, отличную от Windows, или хотите внести какие-либо изменения после первоначальной установки, вам, скорее всего, потребуется отредактировать файл с именем mysql.ini
. Это простой текстовый файл, но он содержит множество настроек, используемых MySQL для работы. Если вы вносите какие-либо изменения в этот файл, вам потребуется перезапустить службу MySQL, чтобы изменения вступили в силу. Обратите внимание, что расположение этого файла зависит от вашей операционной системы.
В качестве небольшого предостережения, MySQL может изначально запрещать соединения от чего-либо, кроме localhost. Это может представлять проблему, если у вас MySQL установлен на другом компьютере или виртуальной машине. С учетом сказанного, относительно просто разрешить нелокальные соединения, если вам это нужно или вы считаете нужным.
Как будет осуществляться хранение базы данных и доступ к ней через Интернет?
Базы данных MySQL хранятся на сервере, на котором работает MySQL. Повторюсь, для безопасности вам нужно, чтобы MySQL работал на компьютере в вашей локальной сети (независимо от того, находится ли он на том же компьютере, что и ваше приложение Python/Flask).
Посетители будут связываться с вашим экземпляром Flask через Интернет, и ваше приложение Python/Flask будет делать локальный запрос к MySQL для получения данных. MySQL будет возвращать данные вашему приложению Flask, ваше приложение Flask будет обрабатывать эти данные, а затем возвращать обработанную информацию посетителю (часто на веб-странице).