实战指南:在 openEuler 上部署 MySQL + LangChain AI 数据库查询工具

发布时间:2026/7/31 10:18:21
实战指南:在 openEuler 上部署 MySQL + LangChain AI 数据库查询工具 任务要求部署 openEuler 服务器关闭 SELinux、配置可用 yum 源编译安装 Python3.11.9安装 MySQL8.0.45创建 testdb 库、order_info 订单业务表导入20 条标准测试订单数据登录并开通腾讯云 TokenHub 大模型聚合平台申请 API 密钥领取免费额度编写.env 配置文件并加固文件权限安装项目全部 Python 依赖包测试数据库连通性、大模型接口连通性任务环境安装1台虚拟机及OpenEuler2203_SP4系统进行环境配置关闭selinxvim /etc/selinux/config确定是关闭状态改名hostnamectl set-hostname hostserver bash确定时间正确若错误进行更改vim /etc/chrony.conf server ntp.aliyun.com iburst systemctl restart chronyd chronyc sources下载所需软件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源码编译安装Python3.11.9脚本开发编写这里使用py文件。下载https://www.python.org/downloads/release/python-3119/下载完毕后使用XFTP将源码包上传到/usr/local/src路径下进入源码目录进行解压[roothostserver ~]# cd /usr/local/src/ [roothostserver src]# tar -zxvf Python-3.11.9.tgz编译配置[roothostserver src]# cd Python-3.11.9 [roothostserver Python-3.11.9]# ./configure --prefix/usr/local/python3.11 --enable-shared [roothostserver Python-3.11.9]# make -j$(nproc) make install[roothostserver Python-3.11.9]# echo /usr/local/python3.11/lib /etc/ld.so.conf.d/python311.conf [roothostserver Python-3.11.9]# ldconfig [roothostserver Python-3.11.9]# ln -s /usr/local/python3.11/bin/python3.11 /usr/local/bin/python3 [roothostserver Python-3.11.9]# ln -s /usr/local/python3.11/bin/pip3.11 /usr/local/bin/pip3 [roothostserver Python-3.11.9]# bash检测是否配置成功校验ssl模块[roothostserver Python-3.11.9]# python3 -c import ssl; print(ssl.OPENSSL_VERSION) OpenSSL 1.1.1wa 16 Nov 2023配置国内 pip 源[roothostserver Python-3.11.9]# cd [roothostserver ~]# mkdir .pip [roothostserver ~]# [roothostserver ~]# vim ~/.pip/pip.conf安装python及ai依赖[roothostserver ~]# pip3 install --upgrade pip [roothostserver ~]# pip3 install pymysql python-dotenv tabulate langchain langchain-openai部署并初始化MySQL 8.0.45下载https://downloads.mysql.com/archives/community/使用xftp将软件包上传到根目录部署数据库[roothostserver /]# tar -xvf mysql-8.0.45-linux-glibc2.28-x86_64.tar.xz [roothostserver /]# cd mysql-8.0.45-linux-glibc2.28-x86_64使用前准备[roothostserver mysql-8.0.45-linux-glibc2.28-x86_64]# cd / [roothostserver /]# mv mysql-8.0.45-linux-glibc2.28-x86_64 /usr/local/mysql [roothostserver /]# cd /usr/local/mysql/[roothostserver mysql]# [roothostserver mysql]# groupadd mysql [roothostserver mysql]# useradd -r -g mysql -s /sbin/nologin mysql [roothostserver mysql]# mkdir data [roothostserver mysql]# chmod -R 750 data [roothostserver mysql]# chown -R mysql:mysql /usr/local/mysqlbin/mysqld --initialize --usermysql --basedir/usr/local/mysql --datadir/usr/local/mysql/data保存选中部分的生成密码使用后台开启mysql开启后使用打开该虚拟机另一个窗口 [roothostserver mysql]# bin/mysqld_safe --usermysql [roothostserver ~]# cd /usr/local/mysql/ [roothostserver mysql]# [roothostserver mysql]# bin/mysql -u root -p Enter password: //此时把之前生成的密码粘贴上密码并不会显示在屏幕上回车进入配置数据库mysql alter user rootlocalhost identified with mysql_native_password by123456; //更改密码 mysql flush privileges; //刷新 mysql use mysql; mysql select user, host, plugin from mysql.user; //查看初始数据库 mysql exit //退出数据库 Bye设置数据库配置文件查询后用进程号删除该进程并在第一个窗口回车退出mysql[roothostserver mysql]# vim /etc/my.cnf[roothostserver mysql]# vim /usr/lib/systemd/system/mysqld.service[roothostserver mysql]# systemctl daemon-reload [roothostserver mysql]# systemctl enable --now mysqld.service更改环境变量[roothostserver mysql]# vim ~/.bash_profile [roothostserver mysql]# source ~/.bash_profile登录测试[roothostserver mysql]# mysql -uroot -p创建库和表加入数据mysql create database testdb; Query OK, 1 row affected (0.01 sec) mysql use testdb; Database changed mysql 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 下单时间 - ) ENGINEInnoDB COMMENT电商订单业务表; Query OK, 0 rows affected (0.03 sec) mysql INSERT INTO order_info(user_id,order_name,pay_amount,create_time) - VALUES - (1001,智能手机,2999.00,2026-05-01 10:20:00), - (1001,有线入耳耳机,199.00,2026-05-02 14:10:00), - (1002,14英寸轻薄笔记本电脑,5499.00,2026-05-03 09:30:00), - (1002,无线蓝牙鼠标,89.00,2026-05-03 09:35:00), - (1003,平板学习机,1799.00,2026-05-04 11:05:00), - (1003,平板专用保护壳,49.00,2026-05-04 11:08:00), - (1004,机械游戏键盘,349.00,2026-05-05 16:42:00), - (1004,电竞头戴耳机,459.00,2026-05-05 16:48:00), - (1005,大屏智能电视,3299.00,2026-05-06 08:15:00), - (1005,电视壁挂支架,129.00,2026-05-06 08:20:00), - (1006,无线快充充电器,129.00,2026-05-03 13:22:00), - (1006,降噪蓝牙耳机,399.00,2026-05-03 13:25:00), - (1007,电竞显示器,1899.00,2026-05-07 10:10:00), - (1007,显示器增高支架,79.00,2026-05-07 10:15:00), - (1008,折叠平板支架,39.00,2026-05-04 15:30:00), - (1008,便携充电宝,159.00,2026-05-04 15:33:00), - (1009,台式游戏主机,6999.00,2026-05-08 09:05:00), - (1009,电竞防滑鼠标垫,59.00,2026-05-08 09:08:00), - (1010,手机钢化膜,29.00,2026-05-05 17:12:00), - (1010,桌面收纳支架,45.00,2026-05-05 17:16:00);获取API Key访问腾讯云官网手机号注册并完成实名认证登录后进入 “API Key管理”→“新建 API 密钥”填写密钥名称并保存脚本开发新建目录及脚本[roothostserver ~]# mkdir -p /opt/mysql_ai_tools [roothostserver ~]# cd /opt/mysql_ai_tools [roothostserver mysql_ai_tools]# touch main.py mysql_client.py prompts.py web_main.py .env编写python文件[roothostserver ~]# vim /opt/mysql_ai_tools/.env [roothostserver ~]# chmod 600 /opt/mysql_ai_tools/.env[roothostserver ~]# vim /opt/mysql_ai_tools/mysql_client.py[roothostserver ~]# vim /opt/mysql_ai_tools/prompts.py[roothostserver ~]# vim /opt/mysql_ai_tools/main.py测试[roothostserver ~]# python3 /opt/mysql_ai_tools/main.pyweb可视化版本已有业务文件 main.py mysql_client.py prompts.py .env文件不变需要编写web_main.py入口文件使用pip安装[roothostserver ~]# /usr/local/python3.11/bin/pip3 install langchain-openai streamlit pymysql python-dotenv sqlparse tabulate测试依赖路径[roothostserver ~]# /usr/local/python3.11/bin/python3 -c import langchain_openai;print(3.11依赖全部正常)编写web_main.py文件systemd后台服务[roothostserver ~]# vim /etc/systemd/system/mysql-ai-web.service设置服务开机自启动[roothostserver ~]# systemctl daemon-reload [roothostserver ~]# systemctl enable --now mysql-ai-web浏览器访问ip测试搭建成功测试