Skip to main content

Goal: I want to download a table list to a txt or csv file.

Initially, as a root user I tried using drush

drush sql-dump --tables-list=media_field_data > db-list.sql

Of course as a root user and Drush set-up not as root. failed with 

Command 'drush' not found, did you mean:

  command 'rush' from deb rush (1.8+dfsg-1.1)

My bad.

Changing the user away from root and running the command again

drush sql-dump --tables-list=media_field_data > db-list.sql

Produced a permission error

bash: db-list.sql: Permission denied

 

Drush to mysqldump

What about if I move away form Drush and go to mysqldump where I'm able to add extensions that include the database user and name.

mysqldump -u {user} -p {database_name} media_field_data > db-list.sql --no-tablespaces

Accordingly, I received a prompt for the password and success - file saved.

 

Exploring the option to convert comma's to tabs

mysqldump -u {user} -p {database_name} media_field_data --fields-terminated-by ',' --fields-enclosed-by '"' --fields-escaped-by '\' --no-create-info --tab db-list.sql

While I was prompted for the password, this command failed due to permissions error... as follows:

mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
mysqldump: Got error: 1227: Access denied; you need (at least one of) the FILE privilege(s) for this operation when executing 'SELECT INTO OUTFILE'

 

Related articles