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的交互式命令行界面。

mysql软连接改配置_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 SQLAlchemydb=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 UserModelfrom 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 UserModel

from flask_migrate import Migrate


app = 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

mysql软连接改配置_flask_02


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

 flask db migrate

mysql软连接改配置_mysql软连接改配置_03

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

 flask db upgrade

mysql软连接改配置_mysql软连接改配置_04

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

mysql软连接改配置_MySQL_05

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