gpt4 book ai didi

mysql - 在 bash 脚本中创建 mysql 数据库和用户

转载 作者:IT老高 更新时间:2023-10-28 23:46:25 26 4
gpt4 key购买 nike

这看起来应该很简单,我发誓这段代码已经工作了几个月,但现在不工作了。我确定我只是太累了,但我会很感激你的理解。

# 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 中定义的密码。

MariaDB 10.0.22Ubuntu 14.04

最佳答案

这是我使用的:https://raw.githubusercontent.com/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/.my.cnf exists then it won't ask for root password
if [ -f /root/.my.cnf ]; 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/.my.cnf 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

关于mysql - 在 bash 脚本中创建 mysql 数据库和用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com