Estoy aprendiendo desarrollo web y estoy usando Python (flask) junto con HTML y CSS con bits de JavaScript. Quiero saber cómo puedo conectar una base de datos (MySQL) a mi sitio web y dónde y cómo se almacenará. Deseo saber cómo puedo incorporar MySQL a mi sitio web y también cómo se almacenará la base de datos y cómo se accederá a ella a través de Internet. Gracias por compartir tus conocimientos.
Respuesta1
De ninguna manera soy un experto en el marco de Flask, pero creo que puedo ofrecer algunos consejos sobre el panorama general de cómo funcionan juntos Flask y MySQL. No estoy seguro de qué sistema operativo está utilizando para su sitio web, así que usaré Linux como ejemplo.
Flask, muy simplificado, es un microframework que utiliza Python para abstraer y conectar su interfaz (HTML, CSS, JavaScript), su base de datos backend (MySQL), además de servir a su sitio web, reemplazando la necesidad de software de servidor tradicional como Apache2.
Flask se encarga de servir su página web, por lo que no necesitará instalar software por separado, pero Flask requiere un software de base de datos tradicional como MySQL. Echa un vistazo aesta páginapara obtener información sobre cómo instalar MySQL en Ubuntu.
Primero deberá configurar su base de datos y tablas usando la línea de comando o una aplicación GUI para acceder a MySQL que se ejecuta en su máquina. Aquí hay un MySQLhoja de referencia de línea de comando. Si prefiere interactuar con su base de datos utilizando una aplicación GUI,aquí está el banco de trabajo MySQL. Para obtener información sobre cómo conectar su aplicación Flask a su base de datos recién configurada,aquí hay un tutorialpuede resultarle útil. Siguiendo este tutorial, su software de base de datos y los datos de su base de datos se ejecutarán y almacenarán en la misma máquina que ejecutará su código Python Flask.
No estoy del todo seguro de lo que quieres decir con "cómo se almacenará la base de datos y cómo se accederá a ella a través de Internet" pero aquí hay algunas aclaraciones que podrían ser útiles. Los visitantes de su sitio web interactuarán con su código Python de Flask, que a su vez interactuará con MySQL. Así es como su sitio web puede acceder a los datos almacenados en la base de datos. Absolutamente nonodesea que sus visitantes puedan interactuar directamente con el software MySQL que se ejecuta en su servidor. Sitúdesea acceder de forma remota a MySQL con fines administrativos,aquí se explica cómo configurarlo.
¡Espero que esta información ayude!
Respuesta2
Deseo saber cómo puedo incorporar MySQL con mi sitio web.
En resumen, puedes instalar MySQL en cualquier computadora en la que quieras ejecutarlo, como cualquier otra aplicación, para cualquier sistema operativo que esté usando la computadora. Esto significa un instalador o .zip
archivo MSI en Windows, probablemente un .dmg
archivo en MacOS y archivos .deb
, .rpm
etc. tar.xz
para Linux y otros.
Si lo desea,Puedes descargar la versión comunitaria de MySQL aquí.. Tenga en cuenta que, para sistemas que no son Windows, sin embargo, podría ser más fácil/mejor usar el administrador de paquetes de su plataforma para instalar MySQL (si es posible). Probablemente también necesitarás instalar elConector MySQL para Pythonootra opción para conectarse a MySQLdesde Python en la misma computadora que su instalación de Python/Flask.
Una vez instalado MySQL, querrás asegurarte de que se esté ejecutando como un servicio para el sistema operativo de la computadora. El puerto en el que normalmente opera este servicio es 3306. Esto permite que aplicaciones o scripts de terceros como Python/Flask realicen solicitudes a MySQL en ese puerto (es decir, envíe consultas de bases de datos a MySQL y reciba respuestas [datos]).
Esto significa que lo más probable es que:
Escribir código en Flask para realizar solicitudes a MySQL desde su aplicación Flask cuando un visitante se conecta a su sitio (ya sea por sí solo o en nombre de un visitante).
Escribir más código para procesar los resultados de esas solicitudes.
Escribir aún más código para utilizar los datos que procesó para devolver información a un visitante en función de los resultados de la solicitud.
Dado que está utilizando Flask, es posible que desee echar un vistazo aFlask-SQLAlquimia. No estoy 100% seguro, pero esto puede evitar la necesidad de otros conectores (arriba).
MySQL frente a Python/Flask
Para ser claros, MySQL funciona de forma completamente independiente de Python o Flask. Puede instalar y ejecutar MySQL sin que Python/Flask esté siquiera en el sistema. Aunque no hay nada de malo en ejecutar MySQL en la misma computadora que su instalación de Python/Flask, MySQL también se puede ejecutar en una computadora separada en su red local o incluso fuera de su red (aunque esta última opción no es buena para la seguridad). Siempre que Python/Flask pueda enviar consultas a MySQL a través de ex. puerto 3306, poco importa dónde esté instalado MySQL.
Configuración de MySQL
Tenga en cuenta que MySQL probablemente requerirá alguna configuración antes de que se ejecute de la forma deseada o esté disponible para Python/Flask.
En Windows, el instalador MSI le guiará a través de la configuración inicial de MySQL durante la instalación. Mira estoesta preguntasi desea algunos consejos básicos sobre qué seleccionar en el asistente de configuración de Windows.
Si usa la .zip
versión en Windows, usa una versión que no es de Windows o desea realizar algún cambio después de la instalación inicial, probablemente necesitará editar un archivo llamado mysql.ini
. Este es un archivo de texto simple pero contiene muchas de las configuraciones que MySQL usa para ejecutarse. Si realiza algún cambio en este archivo, deberá reiniciar el servicio MySQL para que los cambios surtan efecto. Tenga en cuenta que la ubicación de este archivo depende de su sistema operativo.
Como advertencia menor, MySQL puede inicialmente impedir conexiones desde cualquier otro lugar que no sea localhost. Esto podría presentar un problema si tiene MySQL instalado en otra computadora o máquina virtual. Dicho esto, es relativamente sencillo permitir conexiones que no sean de host local según lo necesite o lo considere conveniente.
¿Cómo se almacenará la base de datos y se accederá a ella a través de Internet?
Las bases de datos MySQL se almacenan en el servidor en el que opera MySQL. Para reiterar, por seguridad, querrá que MySQL se ejecute en una computadora en su red local (ya sea que esté o no en la misma computadora que su aplicación Python/Flask).
Los visitantes se comunicarán con su instancia de Flask a través de Internet y su aplicación Python/Flask realizará una solicitud local de datos a MySQL. MySQL devolverá datos a su aplicación Flask, su aplicación Flask procesará esos datos y luego devolverá esa información procesada al visitante (a menudo en una página web).