本文介绍了在bash脚本中创建mysql数据库和用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这看起来应该很简单,我发誓这段代码已经使用了几个月了,但是现在不起作用了.我确定我只是太累了,但我会感谢一位知情的朋友.
This seems like it should be simple and I swear this code has worked for months but it's not working now. I'm sure I'm just overly tired but I would appreciate a knowing nudge.
# create random password PASSWDDB="$(openssl rand -base64 12)" # replace "-" with "_" for database username MAINDB=${USER_NAME//[^a-zA-Z0-9]/_} # create database and user mysql -e "CREATE DATABASE $MAINDB" mysql -e "GRANT ALL PRIVILEGES ON $MAINDB.* TO $MAINDB@localhost IDENTIFIED BY '$PASSWDDB!'"MAINDB先前在脚本中提供.我最终得到的是一个数据库,一个用户和适当的权限,并且该用户具有一个密码-它不是$ PASSWORDDB中定义的密码.
MAINDB is supplied previously in the script. What I end up with is a database, a user, and proper permissions and the user has a password - it's just not the password defined in $PASSWORDDB.
MariaDB 10.0.22 Ubuntu 14.04
MariaDB 10.0.22 Ubuntu 14.04
推荐答案这是我使用的: raw.githubusercontent/saadismail/useful-bash-scripts/master/db.sh
您可以使用以下方法:
# create random password PASSWDDB="$(openssl rand -base64 12)" # replace "-" with "_" for database username MAINDB=${USER_NAME//[^a-zA-Z0-9]/_} # If /root/.myf exists then it won't ask for root password if [ -f /root/.myf ]; then mysql -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET utf8 */;" mysql -e "CREATE USER ${MAINDB}@localhost IDENTIFIED BY '${PASSWDDB}';" mysql -e "GRANT ALL PRIVILEGES ON ${MAINDB}.* TO '${MAINDB}'@'localhost';" mysql -e "FLUSH PRIVILEGES;" # If /root/.myf doesn't exist then it'll ask for root password else echo "Please enter root user MySQL password!" echo "Note: password will be hidden when typing" read -sp rootpasswd mysql -uroot -p${rootpasswd} -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET utf8 */;" mysql -uroot -p${rootpasswd} -e "CREATE USER ${MAINDB}@localhost IDENTIFIED BY '${PASSWDDB}';" mysql -uroot -p${rootpasswd} -e "GRANT ALL PRIVILEGES ON ${MAINDB}.* TO '${MAINDB}'@'localhost';" mysql -uroot -p${rootpasswd} -e "FLUSH PRIVILEGES;" fi更多推荐
在bash脚本中创建mysql数据库和用户
发布评论