]> gitweb.fluxo.info Git - puppet-mysql.git/commitdiff
Using just change_mysql_rootpw
authorSilvio Rhatto <rhatto@riseup.net>
Tue, 19 Jan 2010 16:29:32 +0000 (14:29 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Tue, 19 Jan 2010 16:29:32 +0000 (14:29 -0200)
files/setmysqlpass.sh [deleted file]
manifests/init.pp
templates/setmysqlpass.sh.erb [new file with mode: 0644]

diff --git a/files/setmysqlpass.sh b/files/setmysqlpass.sh
deleted file mode 100644 (file)
index 586775e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-#
-# Set MySQL password.
-#
-
-CONF="/root/.my.cnf"
-
-# Check config file
-if [ ! -e "$CONF" ]; then
-  echo "File not found: $CONF"
-  exit 1
-fi
-
-# Get password from configuration
-passwd="`grep ^'password='` $CONF | cut -d '=' -f 2"
-
-# Set the password
-echo "USE mysql; UPDATE user SET Password=PASSWORD('$passwd') WHERE User='root' AND Host='localhost';" | /usr/bin/mysql -u root
index 8143a80c2f70430bcfcce1b678dbe741d49ff355..35bd0f548b373a0aaef0a72706b92bca8f55af08 100644 (file)
@@ -4,46 +4,40 @@
 
 class mysql {
   package { "mysql-client":
-      ensure  => installed,
+    ensure  => installed,
   }
 }
 
 class mysql::server inherits mysql {
   package { "mysql-server":
-      ensure  => installed,
+    ensure => installed,
   }
+
   service { "mysql":
-      ensure          => running,
-      enable          => true,
-      hasrestart      => true,
-      hasstatus       => true,
-      require         => Package["mysql-server"],
+    ensure     => running,
+    enable     => true,
+    hasrestart => true,
+    hasstatus  => true,
+    require    => Package["mysql-server"],
   }
 
   case $mysql_rootpw {
-      '': { fail("You need to define a mysql root password! Please set \$mysql_rootpw in your site.pp or host config") }
+    '': { fail("You need to define a mysql root password! Please set \$mysql_rootpw in your site.pp or host config") }
   }
 
-  file{ '/usr/local/sbin/setmysqlpass.sh':
-      source  => "puppet://$server/modules/mysql/setmysqlpass.sh",
-      require => Package[mysql-server],
-      owner   => root,
-      group   => root,
-      mode    => 0500,
+  file { '/usr/local/sbin/setmysqlpass.sh':
+    content => template('mysqk/setmysqlpass.sh.erb'),
+    require => Package[mysql-server],
+    owner   => root,
+    group   => root,
+    mode    => 0500,
   } 
 
-  exec{'set_mysql_rootpw':
-      command => "/usr/local/sbin/setmysqlpass.sh",
-      unless  => "mysqladmin -uroot status > /dev/null",
-      require => [ File['/usr/local/sbin/setmysqlpass.sh'], Package[mysql-server] ],
-      user    => root,
-  }
-
-  exec{'change_mysql_rootpw':
-      command     => "/usr/local/sbin/setmysqlpass.sh",
-      require     => [ File['/usr/local/sbin/setmysqlpass.sh'], Package[mysql-server] ],
-      refreshonly => true,
-      user        => root,
+  exec { 'change_mysql_rootpw':
+    command     => "/usr/local/sbin/setmysqlpass.sh",
+    require     => [ File['/usr/local/sbin/setmysqlpass.sh'], Package[mysql-server] ],
+    refreshonly => true,
+    user        => root,
   }
 
   mysql::cnf { "root":
diff --git a/templates/setmysqlpass.sh.erb b/templates/setmysqlpass.sh.erb
new file mode 100644 (file)
index 0000000..902336a
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Set MySQL password.
+#
+
+# Config
+SERVICE="/etc/init.d/mysql"
+PASSWORD="<%= mysql_rootpw %>"
+DATADIR="/var/lib/mysql/data"
+LOGBIN="/var/lib/mysql/mysql-bin"
+USER="mysql"
+GROUP="mysql"
+DEFAULTS="/etc/mysql/debian.cnf"
+
+# Stop service
+#$SERVICE stop
+
+# Start without grant tables
+# This seems unsafe as opens a race condition.
+#/usr/libexec/mysqld --skip-grant-tables --user=root --datadir=$DATADIR log-bin=$LOGBIN &
+
+# Wait
+#sleep 5
+
+# Change root password
+echo "USE mysql; UPDATE user SET Password=PASSWORD('$PASSWORD') WHERE User='root' AND Host='localhost';" | \
+  /usr/bin/mysql --defaults-file=$DEFAULTS
+
+# Kill the daemon
+#killall mysqld
+
+# Chown to be on the safe side 
+#chown $USER.$GROUP $LOGBIN*
+
+# Start service
+#$SERVICE start