当前位置: 首页 > wzjs >正文

专做奢侈品的网站设计 企业网站

专做奢侈品的网站,设计 企业网站,wordpress 删除 后台菜单,郑州网站推广效果在日常开发中,可能会遇到从 MySQL 迁移到 PostgreSQL 的需求。你也许是: 正在准备从传统架构转向云原生;想使用 PostgreSQL 更强的事务与 JSON 支持;想统一团队数据库技术栈;纯粹为了尝试学习不同的数据库系统。 别担…

在日常开发中,可能会遇到从 MySQL 迁移到 PostgreSQL 的需求。你也许是:

  • 正在准备从传统架构转向云原生;
  • 想使用 PostgreSQL 更强的事务与 JSON 支持;
  • 想统一团队数据库技术栈;
  • 纯粹为了尝试学习不同的数据库系统。

别担心,无需手动写导出脚本,无需配置复杂工具,只需借助 Docker 和一个神奇的工具——pgloader,即可轻松完成。


✅ 教程目标

  • 使用 Docker 启动 MySQL 和 PostgreSQL 容器
  • 利用 pgloader 将数据从 MySQL 自动迁移到 PostgreSQL
  • 整个过程无需安装本地数据库,适合所有平台(Windows/Mac/Linux)

🧾 环境准备

你只需要安装好以下软件:

  • Docker Desktop(可从 官网 下载并安装)
  • 命令行终端:Windows 用户可用 PowerShell,Mac/Linux 使用终端即可
  • 一个耐心的你 🧠

🧰 一、提前拉取所需镜像

为了避免容器启动时网络太慢,可以先手动拉取镜像:

# 打开终端 PowerShell 或 bash# 拉取 MySQL 镜像
docker pull mysql# 拉取 PostgreSQL 镜像
docker pull postgres# 拉取 pgloader 镜像
docker pull dimitri/pgloader:latest

🧱 二、启动数据库容器

启动 MySQL 容器

docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=myrootpassword -e MYSQL_DATABASE=mydb -e MYSQL_USER=myuser -e MYSQL_PASSWORD=mypassword -p 3306:3306 -v $PWD/mysql_data:/var/lib/mysql mysql

📌 参数解释:

  • -e:设置环境变量,如数据库名、用户名、密码等
  • -v:挂载数据目录,持久化存储
  • -p:将容器端口映射到宿主机
  • $PWD:当前目录(Linux/macOS 下可用,Windows 可用 %cd%

启动 PostgreSQL 容器

docker run -d --name my-postgres -e POSTGRES_USER=myuser -e POSTGRES_PASSWORD=mypassword -e POSTGRES_DB=mydb -p 5432:5432 -v $PWD/pgdata:/var/lib/postgresql/data postgres

🌐 三、创建容器网络(让它们“看得见彼此”)

Docker 容器默认在隔离网络中,pgloader 需要两个数据库“互通”,所以需要:

# 创建网络
docker network create pgloader-net# 将两个容器加入该网络
docker network connect pgloader-net my-mysql
docker network connect pgloader-net my-postgres

📦 四、使用 pgloader 执行数据迁移

docker run --rm --network=pgloader-net dimitri/pgloader:latest pgloader mysql://myuser:mypassword@my-mysql:3306/mydb postgresql://myuser:mypassword@my-postgres:5432/mydb

📌 这条命令会:

  • 自动连接两个数据库容器
  • 将所有表结构、索引、数据内容一并迁移
  • 无需写任何 SQL 或导出文件!

✅ 五、迁移成功后如何验证?

你可以使用以下方法验证数据是否成功迁移到 PostgreSQL:

方法 1:进入 PostgreSQL 容器查看数据

docker exec -it my-postgres psql -U myuser -d mydb

然后输入 SQL:

\dt -- 查看所有表
SELECT * FROM 表名 LIMIT 10;

方法 2:使用图形工具连接 PostgreSQL

推荐使用以下客户端工具之一:

  • DBeaver
  • pgAdmin
  • DataGrip
  • Navicat Premium

连接 PostgreSQL,输入如下信息:

  • Host:localhost
  • Port:5432
  • Database:mydb
  • Username:myuser
  • Password:mypassword

🧹 六、清理环境(可选)

如果只是测试或临时使用,可以删除这些容器和网络:

docker rm -f my-mysql my-postgres
docker network rm pgloader-net

也可以删除挂载的卷:

rm -rf ./mysql_data ./pgdata

🧠 常见问题与排查

问题解决办法
容器启动失败检查端口是否被占用,或数据卷权限
pgloader 报错 Connection refused检查网络是否连接、数据库是否正常启动
数据库为空确保 MySQL 中原本就有表和数据;否则 pgloader 无内容可迁移
Windows 下 $PWD 报错改用 %cd%,或手动指定绝对路径,如 C:/Users/xxx/mysql_data:/var/lib/mysql

📌 总结

通过本文你学会了:

✅ 使用 Docker 快速搭建 MySQL 和 PostgreSQL 环境
✅ 使用 pgloader 自动化完成数据迁移
✅ 利用图形化工具查看迁移结果
✅ 清理容器环境保持整洁

http://www.dtcms.com/wzjs/790818.html

相关文章:

  • 广州三合一网站建设网站建设初期
  • 公司做网站的钱网银转账用途用老域名做新网站
  • 广州专业做网站公司外贸流程ppt
  • 网站建设大德通南京电商网站建设公司排名
  • wordpress 网站名称福州网站制作建设
  • 可以做婚礼视频的网站有哪些获取网站访问量
  • 做民宿加盟哪些网站比较好北京网站设计联系方式
  • 徐州企业建站系统郑州网站托管服务
  • 长春服务好的网站建设个人可以做导航网站吗
  • 三亚市建设局网站公示行业网站怎么推广
  • 意派网站开发新手篇景区网站建设策划书
  • wordpress交易网站品牌活动策划方案
  • 宝安做棋牌网站建设多少钱做网站常用的软件
  • 做网站页面怎么做wordpress语音插件
  • 知名网站制作公司国内美食网站欣赏
  • 什么网站可以做家禽交易公司注册网站系统
  • 权4网站怎么做wordpress整站程序
  • 建设银行网站关闭闪付页面设计的线条
  • 农业基本建设项目信息网站wordpress怎样优化3
  • 朝阳市建设厅查询网站英文 网站 字体
  • 手机网站开发ios企业网站开发模板
  • 重庆网站seo建设哪家好手机网站页面尺寸
  • 网站开发知乎学校网站建设栏目设置
  • 建站快车加盟建站快车的使用方法
  • 广告网站素材梅河口信息网
  • 东莞网络seo推广济南seo网站建设
  • 南沙免费网站建设杭州专业制作网站
  • 国外html5网站源码地名网站建设方案
  • 网站建设一条龙全包seo绵阳集团网站建设
  • 网站内容管理系统源码大米网络营销推广方案