win11平台上mysql 数据库迁移
今天遇到要装个客户现场环境,反正测试环境数据也不算多,就打算偷懒直接将公司测试环境的数据连同 mysql 容器配置一起搬过去,镜像通过阿里云平台上传,配置和数据库数据 直接打包拷贝过去
Docker : Error response from daemon: user declined directory sharing
上来当头一棒,启动docker-compose 报错,应该打开 docker desktop -> settings ->Resources -> FileSharing. Add required folder and hit Apply & Restart。 将docker compose 用到的 数据目录、配置目录 都配置 下,问题解决
Docker 容器中出现 Do you already have another mysqld server running on socket
看来起 问我们 是否有个mysqld 已经运行了?一头雾水,一顿谷歌,后来查到资料,mysql docker镜像主要针对 linux ,由于咱们是windows 平台,有一些额外的配置,参考mysql 官网
大致要配置 --socket 选项,而且这个路径不能是mysql 的 数据目录
mysql:container_name: Mysqlimage: xxxxx/mysql:1.0restart: alwaysports:- "3306:3306"volumes:- ./db/my.cnf:/etc/mysql/my.cnf- ./db/logs:/logs- ./db/data:/var/lib/mysqlcommand: ['mysqld','--innodb-buffer-pool-size=80M','--character-set-server=utf8mb4','--collation-server=utf8mb4_unicode_ci','--default-time-zone=+8:00','--lower-case-table-names=1''---socket=/tmp/mysql.sock']environment:MYSQL_DATABASE: 'root' #数据库MYSQL_ROOT_PASSWORD: 'xxxxx' #数据库root用户密码