Go from an S3 bucket of database dumps to a fresh local copy in a few minutes: create a read-only AWS key, add it to the app, and set up your first import.
On this page
Before you start
mysql command-line client. MySQL Pipe finds it automatically in Homebrew, DBngin, and Herd. If it's missing, run brew install mysql-client.mysqldump — it ships in the same folder as mysql..sql, .sql.gz / .gz, or .zip. The newest file under the path you choose is the one that gets imported.Step 1
We recommend a dedicated IAM user that can only read your backup folder. In the AWS Console:
mysql-pipe-reader. Do not give it console access.YOUR-BUCKET and backups/mysql with your own bucket and path. Name the policy (e.g. mysql-pipe-read-backups), create it, attach it to the user, and finish creating the user.{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListBackupFolder",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::YOUR-BUCKET",
"Condition": { "StringLike": { "s3:prefix": ["backups/mysql/*"] } }
},
{
"Sid": "ReadBackups",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR-BUCKET/backups/mysql/*"
}
]
}
Condition block and use arn:aws:s3:::YOUR-BUCKET/* for GetObject.~/.aws (including SSO or assume-role), you can skip creating a key and pick that profile in the app.Step 2
Step 3
s3://your-bucket/backups/mysql/ URL and it's split into bucket and path for you. Set the Path. The S3 browser below lists the files and highlights the newest dump as “latest here”. The newest .zip / .gz / .sql anywhere under the path is what gets imported.
mysql client path is filled in automatically.127.0.0.1), port, user, and password. The password is stored in the Keychain too.UPDATE users SET email = CONCAT('user', id, '@example.test');
TRUNCATE TABLE sessions;
Step 4
Export (top right of an import) saves a .mysqlpipe.json file with no credentials in it. A teammate imports it with the file icon next to “Imports”, and the app asks for their own AWS key and MySQL password.
We build database pipelines, backup automation, and internal developer tools for startups and enterprises.