From: Adam Chlipala Date: Sat, 10 Feb 2007 20:06:59 +0000 (+0000) Subject: MySQL createdb working X-Git-Tag: release_2010-11-19~271 X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/commitdiff_plain/216f7bc503e90dd5ad3c5f0823858f11201269cb MySQL createdb working --- diff --git a/src/plugins/domtool-mysql b/src/plugins/domtool-mysql index fdc6bc7..5873ec9 100755 --- a/src/plugins/domtool-mysql +++ b/src/plugins/domtool-mysql @@ -4,18 +4,40 @@ case $1 in adduser) USERNAME=$2 PASSWORD=$3 + kinit -k -t /etc/keytabs/root.admin.keytab root/admin aklog + vos create -server afs -partition a -name db.$USERNAME -maxquota 5000 fs mkmount -dir /afs/.hcoop.net/common/.databases/$USERNAME -vol db.$USERNAME -rw + vos release common.databases fs setacl -dir /afs/hcoop.net/common/databases/$USERNAME -acl databases l fs setacl -dir /afs/hcoop.net/common/databases/$USERNAME -acl system:backup rl - sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD'" + sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD';" ;; createdb) - echo "I would create MySQL table $2_$3 for user $2." + USERNAME=$2 + DBNAME_BASE=$3 + DBNAME="${USERNAME}_${DBNAME_BASE}" + DIR=/afs/hcoop.net/common/databases/$USERNAME/mysql + + kinit -k -t /etc/keytabs/root.admin.keytab root/admin + aklog + + mkdir -p $DIR + fs setacl -dir $DIR -acl mysql rlid + fs setacl -dir $DIR -acl databases none + fs setacl -dir $DIR -acl system:backup rl + mkdir $DIR/$DBNAME || exit + chown mysql:mysql $DIR/$DBNAME + chmod 770 $DIR/$DBNAME + ln -sf $DIR/$DBNAME /var/lib/mysql/$DBNAME + fs setacl -dir $DIR/$DBNAME/ -acl mysql all + + sudo -H mysql -e "GRANT CREATE,DROP,SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE VIEW,SHOW VIEW,GRANT OPTION ON * TO '$USERNAME'@'localhost';" $DBNAME + sudo -H mysql -e "FLUSH PRIVILEGES;" ;; *) - echo "Usage: domtool-mysql [adduser | createdb ]" + echo "Usage: domtool-mysql [adduser | createdb
]" ;; esac