Skip to content

Instantly share code, notes, and snippets.

@edeleflie
Created June 3, 2011 03:06
Show Gist options
  • Save edeleflie/1005794 to your computer and use it in GitHub Desktop.
Save edeleflie/1005794 to your computer and use it in GitHub Desktop.
remote rubber-mysql.yml
# 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
# "rake rubber: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
# "rake rubber: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: [db:primary=true]
mysql_slave: [db]
db:primary=true: [mysql_master]
db: [mysql_slave]
# packages: [mysql-client, libmysqlclient15-dev]
# gems: [mysql]
packages: [mysql-client, libmysql-ruby, libmysqlclient-dev]
gems: [[mysql2, "0.2.7"]]
roles:
mysql_master:
db_server_id: 1
mysql_slave:
db_server_id: 2
db:
packages: [
mysql-server,
maatkit, # useful mysql tools for replication
libdbi-perl, libdbd-mysql, libcache-cache-perl # for extended munin plugins
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment