Si vous créez une nouvelle base de données, il est bon de créer un utilisateur avec des autorisations uniquement pour cette base de données (si quelque chose se passe mal, vous ne compromettrez pas le login et le mot de passe de l'utilisateur racine). Ainsi, l'ensemble ressemblera à ceci :
mysql -u base_user -pbase_user_pass -e "create database new_db; GRANT ALL PRIVILEGES ON new_db.* TO new_db_user@localhost IDENTIFIED BY 'new_db_user_pass'"
Où :
utilisateur de base est le nom de l'utilisateur ayant tous les privilèges (probablement le Root)
base_user_pass c'est le mot de passe pour base_user (le manque d'espace entre -p et base_user_pass est important)
nouvelle_db est le nom de la base de données nouvellement créée
nouvel_utilisateur_db est le nom du nouvel utilisateur avec accès uniquement à new_db
nouveau_pass_utilisateur_db c'est le mot de passe pour new_db_user