Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Script création base de données mysql et utilisateur

creerMysqlBDDetUser.sh
#!/bin/sh
 
# Fonction d'affichage du retour du script
#    printf '\e[32m\e[m' "$1 $2 $3"; 
ok() {
    printf "$1 $2 $3\n";
} 
 
EXPECTED_ARGS=3
E_BADARGS=65
MYSQL=`which mysql`
 
Q1="CREATE DATABASE IF NOT EXISTS $1;"
Q2="GRANT ALL ON *.* TO '$2'@'localhost' IDENTIFIED BY '$3';"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"
 
if [ $# -ne $EXPECTED_ARGS ]
then
  echo "Usage: $0 dbname dbuser dbpass"
  exit $E_BADARGS
fi
 
$MYSQL -uroot -p -e "$SQL"
 
ok "Database $1 and user $2 created with a password $3"
  • Donner les droits d'exécution :
cd ~/Téléchargements && chmod +x creerBDDetUser.sh
  • Exécuter le script :
./scriptCreationBDDetUser.sh nomBDD nomUser_de_BDD mot_passe_user_de_BDD

Rappels

  • Connexion à mysql en root :
mysql -uroot -p
  • Exemple de création d'un site nommé site1 :
mysql>CREATE DATABASE site1;
  • Exemple de création d'un utilisateur nommé utilisateur1 ayant le mot de passe motpasse1 :
mysql>CREATE USER 'utilisateur1'@'localhost' IDENTIFIED BY 'motpasse1';

Rappel

  • Pour supprimer un utilisateur :
mysql> DROP USER `utilisateur1`@`localhost`;
  • Depuis le shell linux, il faut prévenir le shell de ne pas interpréter les guillemets inversées :
mysql -uroot -p -e "drop user \`essai\`@\`localhost\`;"

  • Pour lister les utilisateurs :
mysql> SELECT USER,Host FROM mysql.USER;

Ou depuis le shell linux :

mysql -uroot -p -e "select user, host from mysql.user;"
  • Tous les privilèges pour utilisateur1 sur sa bdd site1 :
mysql>GRANT ALL privileges ON site1.* TO 'utilisateur1'@'localhost' IDENTIFIED BY 'motpasse1';
  • Appel à flush privileges à la fin :
mysql>FLUSH privileges;
  • Connexion à la base de données site1 en tant qu'utilisateur1 :

(On donne le mot de passe : “motdepasse1”

mysql -u utilisateur1 -p site1
  • Pour lancer une commande sql depuis le shell bash :

(si des tables ont été créé )

mysql -u utilisateur1 -p site1 -e "show tables;"

* Pour donner un script de création de tables, d'insertion,etc,. sql depuis le shell : (Ne pas oublier le use site1 au début du script de création ou d'insertion pour le site site1 !)

mysql -u utilisateur1 -p <scriptSQL.sql

Références

utilisateurs/hypathie/config/script_creation_bdd_mysql_et_user.txt · Dernière modification: 25/05/2016 08:49 par Hypathie

Pied de page des forums

Propulsé par FluxBB