How to feed mysql queries from bash How to feed mysql queries from bash bash bash

How to feed mysql queries from bash


Try like this:

echo "select 1" | mysql


Try using a here document like this:

mysql --host=localhost --user=user --password=password << ENDCREATE 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

Alternatively place all you commands in text file and run it:

mysql --host=localhost --user=user --password=password < commands.sql


mysql --batch --silent -e 'SHOW TABLES';

Batch and silent are handy if you are planning to pipe the output