Intereting Posts
Запустить процесс с выходом в реальном времени в PHP $ _SERVER не возвращает ip-адрес PHP cookie имеет одну задержку обновления Как отображать только изображения из папки, начинающейся с буквы A? PHP – функция поиска ссылок в тексте Symlinked MAMP Folder Causeing 403 Запрещено urlencode vs rawurlencode? PHP: = 0D, = A20 символов Opencart: изменение макетов электронной почты AngularJS – перенаправление страницы на другую страницу в угловых js при попытке получить параметр из url Как добавить некоторые статические маршруты в приложение CodeIgniter? Как я могу использовать cURL для открытия нескольких URL одновременно с PHP? APACHE Сбой: родитель: дочерний процесс завершен со статусом 3221225477 – Перезапуск отправка кеша-контроль / истекает / прагма с ответом 404 – действительный / понятный современными браузерами? MySQL Обновление некоторых полей базы данных без перезаписи полей не изменено

Создать базу данных в Shell Script – конвертировать из PHP

У меня есть следующий PHP-код, который я использую для создания базы данных, пользователя и прав доступа для пользователя:

$con = mysql_connect("IP.ADDRESS","user","pass"); mysql_query("CREATE DATABASE ".$dbuser."",$con)or die(mysql_error()); mysql_query("grant all on ".$dbuser.".* to ".$dbname." identified by '".$dbpass."'",$con) or die(mysql_error()); 

Я хочу выполнить эти же действия, но из сценария оболочки. Это что-то вроде этого:

 MyUSER="user" MyPASS="pass" MYSQL -u $MyUSER -h -p$MyPASS -Bse "CREATE DATABASE $dbuser;" MYSQL -u $MyUSER -h -p$MyPASS -Bse "GRANT ALL ON $DBUSER.* to $DBNAME identified by $DBPASS;" 

EDIT, поскольку это необходимо в postwwacct (скрипт создания учетной записи cPanel post), в идеале он будет полностью автономным

Вам нужно использовать нижний регистр «MYSQL» и добавить имя хоста после -h и у вас смешанные одиночные и двойные кавычки. Кроме того, вам необходимо установить значения для dbname , dbuser и dbpass и использовать согласованную капитализацию:

 MyUSER="user" MyPASS="pass" HostName="host" dbName="dbname" dbUser="dbuser" dbPass="dbpass" mysql -u $MyUSER -h $HostName -p$MyPASS -Bse "CREATE DATABASE $dbUser;" mysql -u $MyUSER -h $HostName -p$MyPASS -Bse "GRANT ALL ON ${dbUser}.* to $dbName identified by $dbPass;" 

Но я не уверен на 100% в синтаксисе SQL. Я бы подумал, что это будет выглядеть примерно так:

 mysql -u $MyUSER -h $HostName -p$MyPASS -Bse "CREATE DATABASE $dbName;" mysql -u $MyUSER -h $HostName -p$MyPASS -Bse "GRANT ALL ON ${dbName}.* to $dbUser identified by $dbPass;" 

Ваши цитаты и заглавные буквы немного отклонены (или платформа смещена), но по сути да.

Возможно, вы захотите рассмотреть возможность создания сценария sql-скрипта, а затем запустить его через php, shell (s!) И т. Д. Будет намного проще.