之前备份Docker下的MySQL数据库,我都是这样写的: docker exec mysql sh -c 'exec mysqldump somedatabase -uroot -pmy-secret-pw' > /opt/somedatabase-dump.sql somedatabase 是某个数据库的名字,-p后面的是密码,如果密码包含了复杂的特殊字符密码,例如里面含有$@!等字符,就会提示密码不正确。 解决方案是把密码作为变量,并且修改写法,如下: MYSQL_PASSWORD='mysqlpwd@…