当前位置: 首页 > news >正文

【Flask开发实战】安装mysql数据库与配置连接

1、安装mysql

通过yum方式安装MySQL服务器:

sudo yum install mysql-server
在安装过程中,系统可能会要求确认安装。按下Y键并按回车键继续。


安装完成后,MySQL服务器应已自动启动。可以使用以下命令查看和启动MySQL服务:

sudo systemctl status mysqld

sudo systemctl start mysqld


配置MySQL安全性
运行以下命令来加强MySQL的安全性和设置其他选项:

sudo mysql_secure_installation
按照提示操作以完成安全设置,包括设置root密码、删除匿名用户、禁止远程root登录、删除测试数据库等。

登录MySQL验证
mysql -u root -p
系统将提示您输入之前设置的root密码。输入密码后,您将进入MySQL的交互式命令行界面。

 创建数据库

#创建新的登录用户:
create user newname identified by 'password';

#远程登录授权
grant all privileges on *.* to 'newusername'@'%' identified by 'password' with grant option;

#刷新
flush privileges;

#创建数据库
create database 'databasename'

2、配置flask数据库操作

文件:app/config.py

#mysql连接信息
HOSTNAME="X.X.X.X"
PORT=3306
USERNAME="root"
PASSWORD="yourpasswd"
DATABASE="yourdatabase"
DB_URI = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4"
SQLALCHEMY_DATABASE_URI = DB_URI

3、创建模型

文件:app/ext.py

#ext.py:这个文件存在的意义就是为了解决循环引用的问题
from flask_sqlalchemy import SQLAlchemy

db=SQLAlchemy()

文件:app/model.py

from exts import db

class  UserModel(db.Model):
     __tablename__="user"
     id=db.Column(db.BigInteger,primary_key=True,autoincrement=True)
     username=db.Column(db.String(200),nullable=False)
     password=db.Column(db.String(300),nullable=False)
     email=db.Column(db.String(100),nullable=False,unique=True)
     join_time=db.Column(db.DateTime,default=datetime.now)

4、flask绑定

安装python相关模块

MySQLdb:MySQLdb是用Python来操作mysql的包,因此通过pip来安装,命令如下:pip install mysql-python。
pymysql:pymysql是用Python来操作mysql的包,因此通过pip来安装,命令如下:pip3 install pymysql。如果您用的是Python 3,请安装pymysql。
SQLAlchemy:SQLAlchemy是一个数据库的ORM框架,我们在后面会用到。安装命令为:pip3 install SQLAlchemy。

flask-migrate是基于Alembic进行的一个封装,并集成到Flask中,而所有的迁移操作其实都是Alembic做的,他能跟踪模型的变化,并将变化映射到数据库中。安装命令为:pip3 install flask-migrate

 导入相关模块

import config
from exts import db
from models import UserModel

from flask_migrate import Migrate

 绑定mysql操作

###绑定配置文件
app.config.from_object(config)

db.init_app(app)
migrate=Migrate(app,db)

 app.py完整文件

from flask import Flask
import config
from exts import db
from models import UserModelfrom flask_migrate import Migrateapp = Flask(__name__)###绑定配置文件
app.config.from_object(config)
db.init_app(app)
migrate=Migrate(app,db)@app.route('/')def index():return 'Hello, Flask!'if __name__ == '__main__':app.run(debug=True,host='0.0.0.0',port=5000)

5、migrate数据库操作测试

将当前的app导入到环境变量中后,接下来就是需要初始化一个迁移文件夹:

flask db init


然后再把当前的模型添加到迁移文件中:

 flask db migrate


最后再把迁移文件中对应的数据库操作,真正的映射到数据库中:

 flask db upgrade

 数据库中查询已映射user表,同时多了个alembic_version表,用于migrate数据迁移变更记录

后续操作中,所有涉及的表会通过migrate来新增、调整和变更,操作比较灵活方便。 

http://www.lryc.cn/news/327181.html

相关文章:

  • Java项目:79 springboot海滨体育馆管理系统的设计与实现
  • 17.注释和关键字
  • Mac上配置host
  • JAVA------基础篇
  • Python人工智能:气象数据可视化的新工具
  • springMVC实现细节
  • ubuntu16 apt安装程序锁死解决
  • 计算机网络——26通用转发和SDN
  • Modbus TCP协议介绍(ModbusTCP)
  • 【Java核心能力】一篇文章了解 ZooKeeper 底层运行原理
  • P2123皇后游戏
  • git之目前的主流版本
  • PyQT5学习--新建窗体模板
  • 企业产品网络安全建设日志0328
  • QT(C++)-error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”
  • 【 MyBatis 】| 关于多表联查返回 List 集合只查到一条的 BUG
  • PL/SQL的词法单元
  • 第三十二天-PythonWeb主流框架-Django框架
  • 利用python搭建临时文件传输服务
  • 详解 WebWorker 的概念、使用场景、示例
  • IOS面试题编程机制 6-10
  • seleniumui自动化实例-邮箱登录
  • 力扣练习 3.27
  • C 指向指针的指针
  • 通俗易懂:新生代、老年代和永久代/元空间的具体含义是什么?
  • Centos7.9备份mysql数据库
  • Automatic Prompt Engineering
  • Spring高级面试题-2024
  • 用BSP优化3D渲染
  • Composer常见错误解决