8/12

一定要SOP!!!!!!!!否则你将被同一段相似代码折磨一辈子

附带后果是似懂非懂的概念,浪费时间,浪费时间,浪费时间!!!

核心代码

import mysql.connector
conn = mysql.connector.connect(host=’localhost’, user,db,password,port)//引号不能漏!!!
cursor = conn.cursor()//创建游标
cursor.execute(‘select * from students’)//执行查询
result = cursor.fetchall()//获取查询结果
print(result)
conn.close()//关闭连接
cursor.close()//关闭游标

mfsapi总体框架

浏览器发起http请求-> flask接收请求 create_app()-> 分发给蓝图路由-> 蓝图路由调用db连接的函数-> 执行sql查询-> flask返回结果,转换为json-》浏览器显示结果

从0开始

1搭建虚拟机环境

理清思路:

1.1本地windows ->1.2dns解析为主机ip ->1.3检查防火墙tcp端口22是否放行->1.4服务器ubuntu openssh-server启动->ssh会话建立

实操:
ping 主机.mshome.net(mshome.net是hyper-v虚拟机的域名)
再ssh 用户名@你的主机名.mshome.net or ssh 用户名@172.

检查:防火墙sudo ufw allow ssh
sudo ufw status和ssh服务sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

2免密登录,保存登录信息

本地生成密钥对——登录虚拟机——创建ssh目录——本地复制公钥到虚拟机——测试免密登录
ssh-keygen -t rsa -b 4096 -C “你的邮箱”
ssh jimmy@172.24.49.199
mkdir -p ~/.ssh
chmod 700 ~/.ssh
type C:\Users\JimmyHuang.ssh\id_ed25519.pub | ssh jimmy@172.24.49.199 “cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys”
ls -l ~/.ssh
cat ~/.ssh/authorized_keys
ssh -i C:\Users\JimmyHuang.ssh\id_ed25519 jimmy@172.24.49.199

VS Code 新终端默认进入虚拟机环境

确保已装 Remote - SSH 插件。
编辑本地 C:\Users\JimmyHuang.ssh\config,添加:
Host vm-jimmy
HostName jimmy.mshome.net
User jimmy
IdentityFile C:/Users/JimmyHuang/.ssh/id_ed25519

3启动mysql服务

安装——启动——配置——初始化&授权——建db建表插数据
1sudo apt update
sudo apt install mysql-server
2sudo systemctl start mysql
sudo mysql -u root -p
3.1 检查配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0
sudo systemctl restart mysql
3.2防火墙
sudo ufw allow 3306(这里打开vm的fwd,不用打开宿主机的fw,因为用的是localhost访问mysql服务)
sudo ufw reload
4CREATE DATABASE scout;
只授予localhost权限即只能从vm访问db!!!CREATE USER ‘jimmy‘@’localhost’ IDENTIFIED BY ‘你的密码’;GRANT ALL PRIVILEGES ON scout.* TO ‘jimmy‘@’localhost’;
要允许任意ip访问!!!create user ‘jimmy‘@’%’ identified by ‘你的密码’;
grant all privileges on scout.* to ‘jimmy‘@’%’;

FLUSH PRIVILEGES;
5mysql -u root -p scout
create table scout(
id int auto_increment primary key,
actor varchar(255)
)
insert into scout(actor) values (‘jimmy’);引号!!!

4python环境

#!/bin/bash

文件名:setup_env.sh

1. 创建并进入项目目录

mkdir -p ~/myproject
cd ~/myproject

2. 创建虚拟环境

python3 -m venv venv

3. 激活虚拟环境

source venv/bin/activate

4. 升级 pip

pip install –upgrade pip

5. 安装常用包

pip install flask mysql-connector-python requests

echo “✅ 虚拟环境已配置完成!”

6启动python

sudo apt update
sudo apt install python-is-python3

总结

反思:那么多看过三四遍的步骤还要查半天,先归因于sop不足
简单版1hostname -I2ping vm的ip3ssh 用户名@vm的ip
sql:安装,启动,配置,初始化&授权,建db建表插数据
又卡死的输入db的ip:理解错了【配置】用的是localhost访问mysql服务,

Janet paused