繁体   English   中英

将 drupal 数据库从实时服务器导入本地 ddev 时出现奇怪的错误

[英]Strange error when importing drupal database from live server to local ddev

我在 bluehost 上托管我的网站。 我使用 ssh mysqldump 导出数据库。 它已解压缩或涂焦油。 然后我使用 ddev import-db

这是我得到的错误

ddev import-db --src=.tarballs/xxx4_2_2022.sql 错误在第 4200 行:ASCII '\0' 出现在语句中,但这是不允许的,除非选项 --binary-mode 被启用并且 mysql 在非交互模式。 如果需要 ASCII '\0',则将 --binary-mode 设置为 1。 询问: ''。 Failed to import database db for xxx9: ComposeCmd failed to run 'COMPOSE_PROJECT_NAME=ddev-xxx9 docker-compose -f C:\Users\xxx\ddev\xxx9.ddev.ddev-docker-compose-full.yaml exec -T db bash -c设置 -eu && ( mysql -uroot -proot -e "如果数据库存在则删除数据库;如果数据库不存在则创建数据库;在 db.* 上授予所有权限。* 到 'db'@'%';" && pv /mnt/ddev_config/. importdb3401067882/*. sql | perl -p -e 's/^(CREATE DATABASE /*|USE )[^;]*;//' | mysql db)', action='[exec -T db bash -c set -eu && ( mysql -uroot -proot -e "DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; GRANT ALL ON db.* TO 'db'@'%';" && pv /mnt/ddev_config/.importdb3401067882/*.*sql | perl -p -e 's/^(CREATE DATABASE \/\*|USE )[^;]*;//' | mysql db)', action='[exec -T db bash -c set -eu && ( mysql -uroot -proot -e "DROP DATABASE IF EXISTS db; CREATE DATABASE IF NOT EXISTS db; GRANT ALL ON db.* TO 'db'@'%';" && pv /mnt/ddev_config/.importdb3401067882/*.*sql | perl -p -e 's/^(CREATE DATABASE \/\*|USE )[^;] ;//' | mysql db)]', err='exit status 1', stdout='', stderr='ERROR at line 4200: ASCII '\0' 出现在语句中,但这是不允许的,除非选项 --binary-mode 是启用并且 mysql 在非交互模式下运行。 如果需要 ASCII '\0',则将 --binary-mode 设置为 1。 询问: ''。'

导入失败后,该网站似乎可以正常工作...一切正常...但我仍然担心,我该如何解决这个问题? 我在 win 11 上,使用 gitbash 和 cmder

网站是 drupal 9 最新

解决方案是在 ddev 中使用不同的 db import 命令

改为 ddev import-db --src=.tarballs/junk.sql

你应该使用

ddev import-db <db.sql 或 ddev import-db <.tarballs/db.sql

谢谢你!

出于某种原因,第一个命令给了我这个错误,可能是因为我在 WIN 而不是 LINUX?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM