If you are using Linux, there is simple way to check if a user exists in MySQL:
echo `mysql -u root -p[your root password] -e ‘use mysql; SELECT user FROM user;’` | grep ‘[user name]‘
Executing this command will exit with return code 0 if the user exists and otherwise exit with 1.
This is very useful for building puppet scripts. The following execution will create a user if it doesn’t exist.
exec { “add user if not exist”:
unless => “echo `mysql -u root -p[psw] -e ‘use mysql; SELECT user FROM user;’` | grep ‘[username]‘”,
path => [“/bin”, “/usr/bin”],
command => “mysql -u root -p$mysql_password -e \”[Create User/Grant Rights Here]\””,
require => Service[“mysqld”],
}