Как загружать запросы mysql из bash

Я пытаюсь создать сценарий bash, который создает пользователя и базу данных mysql, но я не могу найти способ передать sql в mysql, я пытаюсь использовать этот формат:

mysql < echo "query"

Но это не работает, см. пример ниже:

mysql --host=localhost --user=user --password=password < echo "CREATE USER 'testuser'@'localhost' IDENTIFIED BY  'jakdJxct8W';
CREATE DATABASE IF NOT EXISTS 'testuser_dev' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON  'testuser_dev' . * TO  'testuser'@'localhost';
CREATE DATABASE IF NOT EXISTS 'testuser_qa' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON  'testuser_qa' . * TO  'testuser'@'localhost';"

Как загружать mysql с запросами?

29
задан tirithen 27 May 2011 в 10:01
поделиться

3 ответа

Попробуй так:

echo "select 1" | mysql
38
ответ дан 28 November 2019 в 00:40
поделиться

Попробуйте использовать здесь документ , например:

mysql --host=localhost --user=user --password=password << END

CREATE USER 'testuser'@'localhost' IDENTIFIED BY  'jakdJxct8W';
CREATE DATABASE IF NOT EXISTS 'testuser_dev' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON  'testuser_dev' . * TO  'testuser'@'localhost';
CREATE DATABASE IF NOT EXISTS 'testuser_qa' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON  'testuser_qa' . * TO  'testuser'@'localhost';

END

В качестве альтернативы поместите все свои команды в текстовый файл и запустите его:

mysql --host=localhost --user=user --password=password < commands.sql
23
ответ дан 28 November 2019 в 00:40
поделиться

Вы пробовали mysql -e query?

7
ответ дан 28 November 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: