没看到有这个命令,然后我给自带的mysql命令文件增加了添加数据库和用户名,并且授权的简单操作。
[hr]
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin;
echo '=============================================================';
echo ' [LNMP/Nginx] Amysql Host - AMH 4.2 ';
echo ' http://Amysql.com';
echo '';
function MysqlManagement()
{
if [ "$1" != '' ]; then
selected=$1;
else
echo "[AMH] MySQL Management please select: (1~7)"
select selected in 'start' 'stop' 'restart' 'reload' 'force-reload' 'exit', 'add'; do break; done;
fi;
[ "$selected" == 'exit' ] && exit;
# 命令 amh mysql add root rootpass newdb newdb_pass
# [root帐号] [root密码] [数据库名] [数据库密码]
# 这个命令将创建同数据库名的用户名
# http://www.rkidc.net 请叫我雷锋。
if [ "$selected" == 'add' ]; then
mysqlroot=$2;
mysqlpass=$3;
newusername=$4;
newuserpass=$5;
sql_createdb="CREATE DATABASE IF NOT EXISTS ${newusername};";
sql_createuser="CREATE USER '${newusername}' IDENTIFIED BY '${newuserpass}';";
sql_grant="GRANT ALL PRIVILEGES ON \`${newusername}\`.* TO '${newusername}'@'%';";
sql_add="${sql_createdb}${sql_createuser}${sql_grant}";
#echo $sql_grant; # 测试sql语句是否正常
mysql --user=$mysqlroot --password=$mysqlpass --execute="$sql_add";
echo "[OK] Create datebase .."
exit 1;
elif [ "$selected" != '' ]; then
( find /home/wwwroot/*/tmp/mysql.sock -maxdepth 0 -exec umount {} \; ) 2>/dev/null;
/usr/local/mysql/support-files/mysql.server $selected;
find /home/wwwroot/*/tmp/ -maxdepth 0 -exec touch {}/mysql.sock \;
[ -w /tmp/mysql.sock ] && find /home/wwwroot/*/tmp/mysql.sock -maxdepth 0 -exec mount --bind /tmp/mysql.sock {} \;
ps ax | grep 'mysqld ' | grep -v 'grep' >/dev/null;
status=$?;
if [ "$selected" == 'stop' ]; then
[ "$status" == '1' ] && echo "[OK] MySQL stop" && exit 0;
else
[ "$status" == '0' ] && echo "[OK] MySQL ${selected}" && exit 0
fi;
exit 1;
fi;
MysqlManagement;
return;
}
MysqlManagement $*;
[hr]