docker mysql迁移

希望把Linux中运行的mysql数据迁移到本地,但是用上文直接拷贝数据的方法居然报错了!

log 复制代码
2025-03-15 20:14:32 2025-03-15T12:14:32.133704Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('2') and data dictionary ('0').
2025-03-15 20:14:32 2025-03-15T12:14:32.133818Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2025-03-15 20:14:32 2025-03-15T12:14:32.133829Z 0 [ERROR] [MY-010119] [Server] Aborting

主要原因是:Linux系统是区分大小写的,但是Mac OS是不区分大小写的,虽然gpt说可以通过修改配置文件避免报错,但是我的文件是通过文件夹存到本地的而不是直接使用的docker volume,所以文件保存时已经丢失了大小写信息,所以此方法不通。

最后还是使用了较为传统的方法!back up to .sql!

shell 复制代码
docker exec mysql_container mysqldump -u root -p --all-databases > ./all_databases.sql

在主机中,就会出现sql备份文件了。把它下载到本地,然后拷贝到docker容器中。

shell 复制代码
docker cp /path/to/backup/all_databases.sql mysql-container:/tmp/all_databases.sql

导入备份到mysql

shell 复制代码
mysql -u root -p < /tmp/all_databases.sql
相关推荐
qq_283720051 小时前
MySQL 50+ 道高频面试题(含详细答案)
mysql·面试·高频
李少兄1 小时前
MySQL 数据库表数量统计
数据库·mysql·oracle
某个默默无闻奋斗的人5 小时前
高性能 MySQL 进阶:索引核心原理、失效场景与底层优化全解
数据库·mysql
鸠摩智首席音效师10 小时前
如何使用 docker exec 在容器中运行命令 ?
运维·docker·容器
数据科学小丫11 小时前
Python 数据存储操作_数据存储、补充知识点:Python 与 MySQL交互
数据库·python·mysql
Hoking11 小时前
TimescaleDB(PostgreSQL)流复制集群容器化部署(docker-compose)
docker·postgresql·timescaledb·流复制
cool320012 小时前
Kubernetes基础入门教程
容器·云计算·k8s
水星灭绝12 小时前
win11+wsl2+docker
运维·docker·容器
xianjian091213 小时前
MySQL 的 INSERT(插入数据)详解
android·数据库·mysql
eggwyw13 小时前
MySQL 与 Redis 的数据一致性问题
数据库·redis·mysql