# REQUIRED: The credentials for creating/accessong your app's database # db_user: "#{app_name[0,16]}" db_pass: db_name: "#{app_name}_#{Rubber.env}" db_slave_user: "#{('slave_' + db_user)[0,16]}" db_replicator_user: "#{('replicator_' + db_user)[0,16]}" # REQUIRED: The command to use to do a full backup of your database using # "rubber util:backup_db" db_backup_cmd: "nice mysqldump -h %host% -u %user% --password=%pass% %name% | gzip -c > %backup_file%" # REQUIRED: The command to use to restore the database using # "rubber util:restore_db_s3" # This command will receive the data generated by db_backup_cmd via # its standard input db_restore_cmd: "zcat - | mysql -h %host% -u %user% --password=%pass% %name%" # REQUIRED: The directory to store the db data in # db_root_dir: /mnt/mysql db_data_dir: "#{db_root_dir}/data" db_log_dir: "#{db_root_dir}/log" # Capistrano needs db:primary role for migrate to work, # so we might as well just make consistent across the board role_dependencies: mysql_master: [mysql, "db:primary=true"] mysql_slave: [mysql, db] db:primary=true: [mysql, mysql_master] db: [mysql, mysql_slave] packages: [mysql-client, libmysqlclient15-dev] gems: [mysql] roles: mysql_master: db_server_id: 1 mysql_slave: db_server_id: 2 mysql: packages: [ mysql-server, maatkit # useful mysql tools for replication ]