Я создаю script, который может быть развернут для нескольких администраторов, которые смогут запускать его со своими учетными данными.
Тем не менее, я получаю ошибку Access Denied от mysql. Кажется, я думаю, что я не передаю имя пользователя команде MySQL:
Используя этот script:
set dbUser = "myusername"
set dbPass = "mypassword"
mysql --username=$dbUser --password=$dbPass --database="mydbname" -e "SELECT * FROM sometable"
ОШИБКА 1044 (42000): доступ запрещен для пользователя '@' localhost 'в базу данных
Странно, если я набираю имя пользователя и пароль MySQL непосредственно в команде MySQL и запускаю его в оболочке script, он отлично работает.
mysql --username="myusername"--password="mypass" --database="mydbname" -e "SELECT * FROM sometable"
Для bash... не хотите -
dbUser=myusername
dbPass=mypassword
mysql --username=$dbUser --password=$dbPass --database="mydbname" -e "SELECT * FROM sometable"
mysql --username="$dbUser" --password="$dbPass" ...
в кавычки переменные, если вы не хотите, чтобы побочные эффекты были опущены в кавычки:mysql --username="$dbUser" --password="$dbPass" ...