summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2012-03-07 11:05:49 -0500
committerMicah Anderson <micah@riseup.net>2012-03-07 11:05:49 -0500
commit084f0cfb671c4f29a8ccf7261fba38b6cabd8435 (patch)
treeabaa170a40cdf707642fd4f58bb27faf45b79cb5
parent196560b997593d1913246c8fb8814ac7c9a9060e (diff)
parente9ff8b6a233ad38b18fd4f64413ef0b89186b78f (diff)
Merge branch 'shared'
-rw-r--r--files/scripts/CentOS/setmysqlpass.sh9
-rw-r--r--files/scripts/Debian/setmysqlpass.sh9
-rw-r--r--manifests/server/base.pp2
3 files changed, 15 insertions, 5 deletions
diff --git a/files/scripts/CentOS/setmysqlpass.sh b/files/scripts/CentOS/setmysqlpass.sh
index d762a20..01d8fbf 100644
--- a/files/scripts/CentOS/setmysqlpass.sh
+++ b/files/scripts/CentOS/setmysqlpass.sh
@@ -1,12 +1,17 @@
#!/bin/sh
-test $# -gt 0 || exit 1
+test -f /root/.my.cnf || exit 1
+
+rootpw=$(grep password /root/.my.cnf | sed -e 's/^[^=]*= *\(.*\) */\1/')
/sbin/service mysqld stop
/usr/libexec/mysqld --skip-grant-tables --user=root --datadir=/var/lib/mysql/data --log-bin=/var/lib/mysql/mysql-bin &
sleep 5
-echo "USE mysql; UPDATE user SET Password=PASSWORD('$1') WHERE User='root' AND Host='localhost';" | mysql -u root
+mysql -u root mysql <<EOF
+UPDATE mysql.user SET Password=PASSWORD('$rootpw') WHERE User='root' AND Host='localhost';
+FLUSH PRIVILEGES;
+EOF
killall mysqld
# chown to be on the safe side
chown mysql.mysql /var/lib/mysql/mysql-bin.*
diff --git a/files/scripts/Debian/setmysqlpass.sh b/files/scripts/Debian/setmysqlpass.sh
index 427daf0..f7d5357 100644
--- a/files/scripts/Debian/setmysqlpass.sh
+++ b/files/scripts/Debian/setmysqlpass.sh
@@ -1,12 +1,17 @@
#!/bin/sh
-test $# -gt 0 || exit 1
+test -f /root/.my.cnf || exit 1
+
+rootpw=$(grep password /root/.my.cnf | sed -e 's/^[^=]*= *\(.*\) */\1/')
/etc/init.d/mysql stop
/usr/sbin/mysqld --skip-grant-tables --user=root --datadir=/var/lib/mysql --log-bin=/var/lib/mysql/mysql-bin &
sleep 5
-echo "USE mysql; UPDATE user SET Password=PASSWORD('$1') WHERE User='root' AND Host='localhost';" | mysql -u root
+mysql -u root mysql <<EOF
+UPDATE mysql.user SET Password=PASSWORD('$rootpw') WHERE User='root' AND Host='localhost';
+FLUSH PRIVILEGES;
+EOF
killall mysqld
sleep 15
# chown to be on the safe side
diff --git a/manifests/server/base.pp b/manifests/server/base.pp
index 7ddff38..5b00ddc 100644
--- a/manifests/server/base.pp
+++ b/manifests/server/base.pp
@@ -55,7 +55,7 @@ class mysql::server::base {
}
exec { 'mysql_set_rootpw':
- command => "/usr/local/sbin/setmysqlpass.sh ${mysql_rootpw}",
+ command => "/usr/local/sbin/setmysqlpass.sh",
unless => "/usr/bin/mysqladmin -uroot status > /dev/null",
require => [ File['mysql_setmysqlpass.sh'], Package['mysql-server'] ],
refreshonly => true,