Andrew Fletcher published: 27 July 2023 1 minute read
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.sqlOf 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.sqlProduced 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-tablespacesAccordingly, 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.sqlWhile 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'