The following code works on the command line
mysql --user='myusername' --password='mypassword' --database='mydatabase' --execute='DROP DATABASE myusername;
CREATE DATABASE mydatabase;'
However, it doesnt work on bash file on excecution
#!/bin/bash
user=myusername
password=mypassword
database=mydatabase
mysql --user='$user' --password='$password' --database='$database' --execute='DROP DATABASE $user; CREATE DATABASE $database;'
I receive the following error:
ERROR 1045 (28000): Access denied for user '$user'@'localhost' (using password: YES)
How to make the bash file run as the command line?
Use double quotes while using BASH variables.
BASH doesn't expand variables in single quotes.
I have written a shell script which will read data from properties file and then run mysql script on shell script. sharing this may help to others.
This one worked, double quotes when $user and $password are outside single quotes. Single quotes when inside a single quote statement.