summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorDon Brewer <dbrewer@dbrewer-host.usersys.redhat.com>2008-04-29 17:35:44 -0400
committerBrenton Leanhardt <bleanhar@redhat.com>2008-05-15 15:42:03 -0400
commit9c4703b25e43a3102ac79d6c5d15ea24f8e034d6 (patch)
tree4889f1aeb006a5391460a28878c6149f755a471a /templates
parent95f9398cb4cd1e531eaef21066ae02bb03ab0af1 (diff)
downloadpuppet-mysql-9c4703b25e43a3102ac79d6c5d15ea24f8e034d6.tar.gz
puppet-mysql-9c4703b25e43a3102ac79d6c5d15ea24f8e034d6.tar.xz
puppet-mysql-9c4703b25e43a3102ac79d6c5d15ea24f8e034d6.zip
Fixing dependency issues related to Mysql replication
Diffstat (limited to 'templates')
-rw-r--r--templates/gather_master_data.bash.erb10
-rw-r--r--templates/my.cnf.erb24
-rw-r--r--templates/verify_slave_configuration.bash.erb70
3 files changed, 96 insertions, 8 deletions
diff --git a/templates/gather_master_data.bash.erb b/templates/gather_master_data.bash.erb
index 53cf2cf..093b4a8 100644
--- a/templates/gather_master_data.bash.erb
+++ b/templates/gather_master_data.bash.erb
@@ -2,9 +2,9 @@
PATH=$PATH
-logname=$(mysql -u replication --host=<%= mysql_master_ip_address %> --password=password --execute="show master status" | grep mysqllog | awk '{ print $1 }')
+logname=$(mysql --user=<%= mysql_replication_user %> --host=<%= mysql_master_ip_address %> --password=<%= mysql_replication_password %> --execute="show master status" | grep mysqllog | awk '{ print $1 }')
export logname
-position=$(mysql -u replication --host=<%= mysql_master_ip_address %> --password=password --execute="show master status" | grep mysqllog | awk '{ print $2 }')
+position=$(mysql --user=<%= mysql_replication_user %> --host=<%= mysql_master_ip_address %> --password=<%= mysql_replication_password %> --execute="show master status" | grep mysqllog | awk '{ print $2 }')
export position
rm /var/lib/mysql/set_master_repl_data.sql
@@ -16,11 +16,11 @@ export mysql_master_ip_address=<%= mysql_master_ip_address %>
echo CHANGE MASTER TO >> /var/lib/mysql/set_master_repl_data.sql
echo MASTER_HOST=\'$mysql_master_ip_address\', >> /var/lib/mysql/set_master_repl_data.sql
-echo MASTER_USER=\'replication\', >> /var/lib/mysql/set_master_repl_data.sql
-echo MASTER_PASSWORD=\'password\', >> /var/lib/mysql/set_master_repl_data.sql
+echo MASTER_USER=\'<%= mysql_replication_user %>\', >> /var/lib/mysql/set_master_repl_data.sql
+echo MASTER_PASSWORD=\'<%= mysql_replication_password %>\', >> /var/lib/mysql/set_master_repl_data.sql
echo MASTER_LOG_FILE=\'$logname\', >> /var/lib/mysql/set_master_repl_data.sql
echo MASTER_LOG_POS=$position, >> /var/lib/mysql/set_master_repl_data.sql
echo MASTER_CONNECT_RETRY=10\; >> /var/lib/mysql/set_master_repl_data.sql
+/usr/bin/mysql --user=<%= mysql_replication_user %> --password=<%= mysql_replication_password %> --database=<%= mysql_root_database %> --host=<%= mysql_root_local_host %> --execute="source /var/lib/mysql/set_master_repl_data.sql"
-/usr/bin/mysql --user='replication' --password='password' --database='mysql' --host='localhost' --execute="source /var/lib/mysql/set_master_repl_data.sql"
diff --git a/templates/my.cnf.erb b/templates/my.cnf.erb
index 1c009fa..db1a4ef 100644
--- a/templates/my.cnf.erb
+++ b/templates/my.cnf.erb
@@ -54,7 +54,7 @@ default-character-set=utf8
#
<% if binary_logging %>
log-output =FILE
-log =/var/lib/mysql/mysqllog_general.log
+#log =/var/lib/mysql/mysqllog_general.log
log-slow-queries=/var/lib/mysql/mysqllog_slow_queries.log
log-error =/var/lib/mysql/mysqlderror.log
log-bin =/var/lib/mysql/mysqllog_bin.log
@@ -74,6 +74,10 @@ init-connect='SET NAMES utf8'
innodb_file_per_table
+# Auto Increment Parameters
+auto_increment_increment = 10
+auto_increment_offset = <%= mysql_server_id %>
+
#
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
@@ -147,6 +151,19 @@ server-id = <%= mysql_server_id %>
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
+
+innodb_buffer_pool_size=<%=
+mem = memorysize[0..-4].to_f
+unit = memorysize[-2..-2]
+if unit == "G"
+mem = mem*1024
+unit = "M"
+end
+(mem / 2.0).round
+%><%=
+unit
+%>
+
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
@@ -154,6 +171,7 @@ server-id = <%= mysql_server_id %>
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
+
[mysqldump]
quick
max_allowed_packet = 16M
@@ -181,12 +199,12 @@ interactive-timeout
<% if binary_logging %>
[mysqld_safe]
log-output =FILE
-log =/var/lib/mysql/mysqllog_general.log
+#log =/var/lib/mysql/mysqllog_general.log
log-slow-queries=/var/lib/mysql/mysqllog_slow_queries.log
log-error =/var/lib/mysql/mysqlderror.log
log-bin =/var/lib/mysql/mysqllog_bin.log
log-queries-not-using-indexes
-long-query-time=2
+long-query-time=5
innodb_flush_log_at_trx_commit=1
sync_binlog=1
diff --git a/templates/verify_slave_configuration.bash.erb b/templates/verify_slave_configuration.bash.erb
new file mode 100644
index 0000000..91abffc
--- /dev/null
+++ b/templates/verify_slave_configuration.bash.erb
@@ -0,0 +1,70 @@
+#!/bin/bash -x
+
+PATH=$PATH
+
+# Chech to see if the messaging and datasource databases are configured.
+
+ds_name_response=$(mysql --user=<%= mysql_replication_user %> --host=<%= mysql_master_ip_address %> --password=<%= mysql_replication_password %> --execute="show databases;" | grep <%= ds_name %>)
+export ds_name_response
+echo $ds_name_response
+
+if [ $ds_name_response = '<%= ds_name %>' ]; then
+ export response=True
+ exit 1
+else
+ export response=False
+ echo $response
+ echo $ds_name_response
+fi
+
+rm /var/lib/mysql/<%= ds_name %>_verify_slave_status.out
+
+response=TRUE
+export $response
+
+mysql --user=<%= mysql_replication_user %> --host=<%= mysql_master_ip_address %> --password=<%= mysql_replication_password %> --execute="show slave status\G" > /var/lib/mysql/<%= ds_name %>_verify_slave_status.out
+
+Slave_IO_Running=$(grep 'Slave_IO_Running:' /var/lib/mysql/<%= ds_name %>_verify_slave_status.out | grep Yes | awk '{ print $2 }')
+echo $Slave_IO_Running
+
+if [ $Slave_IO_Running = "Yes" ]; then
+ export response=True
+else
+ export response=False
+ echo $response
+ exit 1
+fi
+
+Slave_SQL_Running=$(grep 'Slave_SQL_Running:' /var/lib/mysql/<%= ds_name %>_verify_slave_status.out | grep Yes | awk '{ print $2 }')
+ echo $Slave_SQL_Running
+
+if [ $Slave_SQL_Running = "Yes" ]; then
+ export response=True
+else
+ export response=False
+ echo $response
+ exit 1
+fi
+
+Slave_IO_Stat=$(grep 'Slave_IO_State:' /var/lib/mysql/<%= ds_name %>_verify_slave_status.out | grep 'Waiting for master to send event' | awk '{ print $6 }')
+ echo $Slave_IO_Stat
+
+if [ $Slave_IO_Stat = "send" ]; then
+ export response=True
+else
+ export response=False
+ echo $response
+ exit 1
+fi
+
+Seconds_Behind_Master=$(grep 'Seconds_Behind_Master:' /var/lib/mysql/<%= ds_name %>_verify_slave_status.out | grep 0 | awk '{ print $2 }')
+ echo $Seconds_Behind_Master
+
+if [ $Seconds_Behind_Master = "0" ]; then
+ export response=True
+else
+ export response=False
+ echo $response
+ exit 1
+fi
+