数据库Mysql结课实验
实验环境:
openEuler Linux 虚拟机、MySQL 8.0.45、Python3.11.9、腾讯云 TokenHub 大模型 API
实验目标:
独立完成 Linux 服务器、MySQL 数据库、Python 运行环境全套部署;
实现自然语言自动生成只读 MySQL 查询、自动执行并 AI 解读业务数据;
实现 SQL 执行计划解析、自动输出索引优化与 SQL 改写方案;
完成命令行终端 + Streamlit Web 可视化双端交互;
完成安全加固、功能全场景测试、异常容错验证。
成果:
sed -i '7s/enforcing/disabled/' /etc/selinux/config systemctl disable --now firewalld systemctl status firewalld hostnamectl set-hostname server bash dnf install -y gcc gcc-c++ make cmake zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel libffi-devel tk-devel wget tar vim tree net-tools openssh-server cd /usr/local/src tar -zxvf Python-3.11.9.tgz cd Python-3.11.9 ./configure --prefix=/usr/local/python3.11 --enable-shared make -j$(nproc) && make install echo "/usr/local/python3.11/lib" > /etc/ld.so.conf.d/python311.conf ldconfig ln -s /usr/local/python3.11/bin/python3.11 /usr/local/bin/python3 ln -s /usr/local/python3.11/bin/pip3.11 /usr/local/bin/pip3 bash python3 -V pip3 -V python3 -c "import ssl; print(ssl.OPENSSL_VERSION)" mkdir ~/.pip vim ~/.pip/pip.conf [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com pip3 install --upgrade pip pip3 install pymysql python-dotenv tabulate langchain langchain-openai groupadd mysql useradd -r -g mysql -s /sbin/nologin mysql mkdir /usr/local/mysql/data chmod -R 750 data chown -R mysql:mysql /usr/local/mysql /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data /usr/local/mysql/bin/mysqld_safe --user=mysql & /usr/local/mysql/bin/mysql -u root -p # mysql内执行 alter user 'root'@'localhost' identified with mysql_native_password by '123456'; flush privileges; exit systemctl daemon-reload systemctl enable --now mysqld.service systemctl is-active mysqld create database testdb; use testdb; create table order_info( id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '订单ID', user_id INT COMMENT '用户ID', order_name VARCHAR(200) COMMENT '商品名称', pay_amount DECIMAL(10,2) COMMENT '支付金额', create_time DATETIME COMMENT '下单时间' ) ENGINE=InnoDB COMMENT='电商订单业务表'; mkdir -p /opt/mysql_ai_tools cd /opt/mysql_ai_tools touch main.py mysql_client.py prompts.py web_main.py .env chmod 600 /opt/mysql_ai_tools/.env /usr/local/python3.11/bin/pip3 install streamlit sqlparse systemctl daemon-reload systemctl enable --now mysql-ai-web systemctl status mysql-ai-web