Задача
Для упрощения, то, что вы делаете в скрипте точки входа, фактически выполняется в оболочке sh
.Команды, которые вы хотите выполнить, должны выполняться внутри оболочки mysql
.
Решение
Для запуска команд mysql
ваша точка входа должна иметь следующую команду:
mysql -u root -p [root-password] -e "update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';"
Если вы хотите сделать это на mysql
дБ, вы можете сделать
mysql -u root -p [root-password] mysql -e "update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';"
Объяснение
В этой команде сначала вы вводите в оболочке mysql команду mysql -u -p
изатем вы выполняете команду sql, используя флаг -e
(он обозначает выполнение).Все, что приходит после -e
, выполняется в оболочке mysql (например, запросы и т. Д.).За подробностями и примерами обращайтесь к этому:
https://dev.mysql.com/doc/refman/8.0/en/command-line-options.html