异步框架 fastapi -- 连接mysql数据库

docker部署mysql

  • 拉取mysql镜像
# 查看docker 服务状态
systemctl status docker 
systemctl start docker
# 设置 开机启动
systemctl enable docker

# 拉取mysql 镜像
docker search mysql:latest  # 不指定版本时,默认也是最新的版本
docker pull mysql

  • 基于镜像,启动容器
# 启动容器
# -p 端口映射
# -v 目录映射
# -e 必须指定环境变量
docker run -d -p 3306:3306 -v /home/laufing/mysql_container:/etc/mysql -e \
MYSQL_ROOT_PASSWORD=root --name=mysql1 mysql
# 注意,最后不用加CMD
  • 查看容器状态
docker ps
docker ps -a
# 若启动失败,则使用交互式方式启动,查看原因
docker run -it --name=mysql1 -p 3306:3306 -v xx:xxx -e MYSQL_ROOT_PASSWORD=root mysql /bin/bash
# 通过/bin/bash 进入命令行
 
  • 修改配置文件字符集
# mysql 下查看变量
mysql>show variables like "character%";

# 修改宿主机中的目录
vim /home/laufing/mysql_container/conf.d/mysqld.cnf
[mysqld]
character-set-server=utf8

vim /home/laufing/mysql_container/conf.d/mysql.cnf # 客户端
[mysql]
default-character-set=utf8
  • 修改pymysql连接mysql的密码验证插件
# ‘cryptography’ package is required for sha256_password or caching_sha2_password auth methods
# 需要修改密码验证的插件
mysql>alter uesr 'root'@'%' identified with mysql_native_password by 'root'; 
  • 重启mysql容器
docker restart mysql1
# 登录
docker exec -it mysql1 /bin/bash
# 或者直接输入mysql命令进行连接
docker exec -it mysql1 mysql -uroot -p

确保pymysql可以正常连接mysql;

 

fastapi连接mysql

pending…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值