diff options
author | Micah Anderson <micah@riseup.net> | 2012-03-07 11:05:49 -0500 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2012-03-07 11:05:49 -0500 |
commit | 084f0cfb671c4f29a8ccf7261fba38b6cabd8435 (patch) | |
tree | abaa170a40cdf707642fd4f58bb27faf45b79cb5 | |
parent | 196560b997593d1913246c8fb8814ac7c9a9060e (diff) | |
parent | e9ff8b6a233ad38b18fd4f64413ef0b89186b78f (diff) |
Merge branch 'shared'
-rw-r--r-- | files/scripts/CentOS/setmysqlpass.sh | 9 | ||||
-rw-r--r-- | files/scripts/Debian/setmysqlpass.sh | 9 | ||||
-rw-r--r-- | manifests/server/base.pp | 2 |
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, |