mysql和es,和milvus部署测试使用
mysql 建立连接。
mysql 建立连接
拉取官方镜像(以 MySQL 5.7 为例)
docker pull mysql:5.78
启动容器(关键参数配置)
docker run --name mysql-container -itd
-e MYSQL_ROOT_PASSWORD=‘123456’ \ # 设置 root 密码1,5
-p 3306:3306 \ # 端口映射到宿主机6
-v /path/to/mysql_data:/var/lib/mysql \ # 数据持久化8
-d mysql:5.7
docker exec -it mysql-container mysql -u root -p123456
直接执行SQL文件
bash
mysql -u [用户名] -p [数据库名] < [文件路径].sql
示例:将data.sql导入testdb数据库
mysql -u root -p testdb < /home/user/data.sql
系统会提示输入密码,输入后自动执行文件中的所有SQL语句。
进入MySQL交互模式后导入
sql
mysql -u root -p – 登录MySQL
USE testdb; – 选择目标数据库
SOURCE /path/to/file.sql; – 执行导入1,3,5
– 创建用户并允许远程访问
CREATE USER ‘admin’@‘%’ IDENTIFIED BY ‘123456’;
GRANT ALL PRIVILEGES ON . TO ‘123456’;
FLUSH PRIVILEGES;
import pymysql
# 连接参数配置(根据容器网络模式选择)
connection = pymysql.connect(
host='localhost', # 宿主机映射模式[1,6](@ref)
# host='mysql-container', # Docker 桥接网络模式[2](@ref)
port=3306,
user='admin',
password='123456',
db='your_database',
charset='utf8mb4'
)
try:
with connection.cursor() as cursor:
# 示例:创建表
cursor.execute("""CREATE TABLE IF NOT EXISTS test_table (
id INT AUTO_INCREMENT PRIMARY KEY,
data VARCHAR(255))""")
# 插入数据
cursor.execute("INSERT INTO test_table (data) VALUES (%s)", ("Hello Docker MySQL",))
connection.commit() # 提交事务[3](@ref)
# 查询数据
with connection.cursor() as cursor:
cursor.execute("SELECT * FROM test_table")
results = cursor.fetchall()
print("查询结果:", results)
finally:
connection.close() # 确保关闭连接[3](@ref)
elasticsearch 启动命令
docker run -itd --name elasticsearch
-p 9200:9200
-e "discovery.type=single-node" # 单节点模式
-e "ES_JAVA_OPTS=-Xms2g -Xmx2g" # 分配 2GB 内存
-v D:\elasticsearch:/usr/share/elasticsearch/data # 数据持久化
kbase_elasticsearch:20250325
from elasticsearch import Elasticsearch
# 配置连接参数(含安全认证)
es = Elasticsearch(
hosts=["http://localhost:9200"],
http_auth=('elastic'), # 用户名密码[2,8](@ref)
# http_auth=('elastic', 'your_password'), # 用户名密码[2,8](@ref)
verify_certs=False # 测试环境可禁用证书验证[8](@ref)
)
# 验证连接
if es.ping():
print("成功连接 Elasticsearch!")
else:
print("连接失败")
mysqldump -u root -p --databases content > content0413.sql;
select * from content where url='http://portal.bj.sgcc.com.cn/html/bj_main/col2507/2018-08/15/20180815105550629822862_1.html';
添加表
ALTER TABLE content add COLUMN date_published datetime;
查看表结构
describe content;
更新表中所有字段
UPDATE content SET session_id = '123';
统计表条数
select count(*) from content;
更改session_id='123'
mysql -u root -p mydb < /home/user/backup.sql
合并的compose文件如下
version: '3.5'
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.5
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
healthcheck:
test: ["CMD", "etcdctl", "endpoint", "health"]
interval: 30s
timeout: 20s
retries: 3
minio:
container_name: milvus-minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
ports:
- "9001:9001"
- "9000:9000"
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
command: minio server /minio_data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v2.4.12
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 30s
start_period: 90s
timeout: 20s
retries: 3
ports:
- "19530:19530"
- "9091:9091"
depends_on:
- "etcd"
- "minio"
# 新增Elasticsearch服务
elasticsearch:
container_name: kbase-elasticsearch
image: kbase_elasticsearch:20250325
ports:
- "9200:9200"
- "9300:9300"
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms2g -Xmx2g
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/esdata:/usr/share/elasticsearch/data
networks:
- default
# 新增MySQL服务
mysql:
container_name: kbase-mysql
image: kbase_mysql:20250325
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: '123456'
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/mysql:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
networks:
- default
networks:
default:
name: milvus
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)