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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐