Outils pour utilisateurs

Outils du site


tips:mysql

Ceci est une ancienne révision du document !


# Mysql

Quelques tips que je passe à chaque fois 3h à retrouver… 😅

## Créer un utilisateur et lui affecter une base

```sql CREATE DATABASE dbname; CREATE USER “dbuser”@“localhost”; SET password FOR “dbuser”@“localhost” = password('dbpassword'); GRANT ALL PRIVILEGES ON dbname.* TO “dbuser”@“localhost” IDENTIFIED BY “dbpassword”; FLUSH PRIVILEGES; EXIT; ```

Pensez à remplacer :

  • dbname par le nom de la base de données désirée
  • dbuser par le nom de l'utilisateur voulu
  • dbpassword par le mot de passe

## Sauvegarde et restauration

### Sauvegarde

Commande exécutée en root sur une Debian (pas de mot de passe depuis le root local) : ```bash mysqldump dbname > dump.sql ```

Un script que je lance dans un cron journalier et qui backup l'ensemble de base Mysql d'un serveur : ```bash #! /bin/bash

BASE_DIR=“/var/backup/mysql” DATE=$(date +%Y%m%d%H%M) LOG='' PURGEDAYS=8

echo “Backing up MySQL databases…” mysql –defaults-file=/etc/mysql/debian.cnf –batch –skip-column-names -e “show databases” | while read DB ; do

      if [ "${DB}" == "information_schema" -o "${DB}" == "performance_schema" ]; then
              echo "Ignoring "${DB}" "
              OPT="--skip-lock-tables "
      else
              echo "Dumping "${DB}" ..."
              OPT="--opt"
              mysqldump --defaults-file=/etc/mysql/debian.cnf --events --ignore-table=mysql.events "${OPT}" "${DB}" -r${BASE_DIR}/${DB}_${DATE}.sql
              gzip ${BASE_DIR}/${DB}_${DATE}.sql
      fi

done

# purge old dumps echo “ ” echo “ ” echo “Removing old backup” find ${BASE_DIR}/ -name “*.sql*” -mtime +${PURGEDAYS} -delete -print ```

### Restauration

Commande exécutée en root : ```bash mysql -u root -p dbname < dump.sql ```

tips/mysql.1665181282.txt.gz · Dernière modification : de dbroqua