升级到 ddev v0.19.0 后,我无法执行 ddev import-db: Access denied for root
After upgrading to ddev v0.19.0 I can't do a ddev import-db: Access denied for root
我保留了一个 sql 经常用来构建站点的导入文件,在升级到 ddev v0.19.0 后,我在执行 `ddev import-db --src=.tarballs/d7git.sql.gz:
Failed to import database for d7git: Failed to run docker-compose [-f /Users/rfay/workspace/d7git/.ddev/docker-compose.yaml exec -T db bash -c mysql --database=mysql -e 'DROP DATABASE IF EXISTS db; CREATE DATABASE db;' && cat /db/*.*sql | mysql db], err='exit status 1', stdout='', stderr='ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)'
这是 mariadb 容器中错误修复的结果。不幸的是,它为您介绍了这个问题。
通过完全删除数据库并重新启动来修复它:
ddev remove --remove-data
ddev start
ddev import-db --src=<yourdb>
发生的事情是,我们现在正在使用更高的 (root) 权限导入数据库,以解决人们遇到的一些问题。但是在 v0.18.0 中,root 用户被破坏了。因此,如果您只是删除整个数据库并从头开始,一切都会正常工作(还有很多以前无法正常工作的事情)。这是针对每个项目的一次性修复,您将来应该可以在不执行此操作的情况下导入。
我保留了一个 sql 经常用来构建站点的导入文件,在升级到 ddev v0.19.0 后,我在执行 `ddev import-db --src=.tarballs/d7git.sql.gz:
Failed to import database for d7git: Failed to run docker-compose [-f /Users/rfay/workspace/d7git/.ddev/docker-compose.yaml exec -T db bash -c mysql --database=mysql -e 'DROP DATABASE IF EXISTS db; CREATE DATABASE db;' && cat /db/*.*sql | mysql db], err='exit status 1', stdout='', stderr='ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)'
这是 mariadb 容器中错误修复的结果。不幸的是,它为您介绍了这个问题。
通过完全删除数据库并重新启动来修复它:
ddev remove --remove-data
ddev start
ddev import-db --src=<yourdb>
发生的事情是,我们现在正在使用更高的 (root) 权限导入数据库,以解决人们遇到的一些问题。但是在 v0.18.0 中,root 用户被破坏了。因此,如果您只是删除整个数据库并从头开始,一切都会正常工作(还有很多以前无法正常工作的事情)。这是针对每个项目的一次性修复,您将来应该可以在不执行此操作的情况下导入。