I know that to take database dump I can ignore some tables. but I want to take the dump of all table with some percentage of data like 20% 40% because the whole dump is too big. here is my normal dump query.
mysqldump -h dburl -u user -p password --databases dbname > dbname.sql
I am not looking for specific OS and using Linux Ubuntu.
There's a similar question open. With the --where option you can limit the amount of records included in the mysqldump (official documentation here), but this option applies for every table in the database.
Another way is to give the command a sql script to run and prepare the data in that script, this will work as a pseudo ETL pipeline.