Skip to content

censor database name, user and password in mysqldump invocation #640

Open
@castilma

Description

@castilma

Describe the bug

The output of wordmove pull -d shows database name, user and password

$ wordmove pull -dv

▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▬▬ Pulling Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

   [...]
   remote | mysqldump --host=[secret] --user=[UNCENSORED DATABASE USER] --password=[UNCENSORED PASSWORD] --result-file="[secret]/wp-content/dump.sql" [UNCENSORED DTABASE NAME]
   [...]

Expected behavior

The [UNCENSORED *] parts above should be [secret].

movefile.yml
(Not posted since I think it's irrelevant to the problem.)

Environment (please complete the following information):

  • OS: MacOS 11.6.2
  • Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-darwin20]
  • Wordmove: 5.2.2

Doctor

  • running the wordmove doctor command returns all green

Irrelevant to this issue?: I use mysql_options to set a nonstandard socket, and doctor doesn't seem to respect those options.

[...]
▬▬ Validating movefile section: local ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    ❌  error | [/database/mysql_options] key 'mysql_options:' is undefined.

▬▬ Validating movefile section: staging ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    ✅  success | Formal validation passed

▬▬ Using Movefile: ./movefile.yml ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

▬▬ Checking local database commands and connection ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

    ✅  success | `mysql` command is in $PATH

    ✅  success | `mysqldump` command is in $PATH

    ❌  error |   We can't connect to the MySQL server using credentials
                specified in the Movefile. Double check them or try
                to debug your system configuration.

                The command used to test was:

                mysql --host=localhost --user=[...] --password=[...] -e'QUIT'


    ❌  error |   We can't connect to the database using credentials
                specified in the Movefile, or the database does not
                exists. Double check them or try to debug your
                system configuration.

                The command used to test was:

                mysql --host=localhost --user=[...] --password=[...] [...] -e'QUIT'

[...]

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions