Кажется, это должно быть просто, и я клянусь, что этот код работал несколько месяцев, но теперь он не работает. Я уверен, что я просто слишком устал, но я был бы признателен за знание толку.
# 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 [email protected] IDENTIFIED BY '$PASSWDDB!'"
MAINDB поставляется ранее в script. В итоге у меня есть база данных, пользователь и правильные разрешения, и у пользователя есть пароль - это просто не пароль, определенный в $PASSWORDDB.
MariaDB 10.0.22 Ubuntu 14.04