Mysql : Différence entre versions
(→Sauvegarde de mysql) |
(→Sauvegarde de mysql) |
||
(Une révision intermédiaire par le même utilisateur non affichée) | |||
Ligne 26 : | Ligne 26 : | ||
SCRIPTPATH=`dirname $SCRIPT|rev| cut -d/ -f1|cut -d. -f1|rev` | SCRIPTPATH=`dirname $SCRIPT|rev| cut -d/ -f1|cut -d. -f1|rev` | ||
− | if [[ "$SCRIPTPATH" == "hourly" ]] | + | if <nowiki>[[ "$SCRIPTPATH" == "hourly" ]]</nowiki> |
then | then | ||
# variable de date | # variable de date | ||
Ligne 59 : | Ligne 59 : | ||
SIZE="1"; | SIZE="1"; | ||
fi | fi | ||
− | if [[ "$SIZE" -lt "10000" ]]; then | + | if <nowiki>[[ "$SIZE" -lt "10000" ]]</nowiki>; then |
/usr/bin/mysqldump -aec ${FILE[$index]} > /home/e-smith/db/mysql/${SCRIPTPATH}/${DATE}/dumpdaily${DATE}-${FILE[$index]}.sql | /usr/bin/mysqldump -aec ${FILE[$index]} > /home/e-smith/db/mysql/${SCRIPTPATH}/${DATE}/dumpdaily${DATE}-${FILE[$index]}.sql | ||
else | else | ||
Ligne 71 : | Ligne 71 : | ||
# une méthode simple pour éviter le probleme de password root sur un nouveau sme, enlevez la ligne dans le fichier suivant. | # une méthode simple pour éviter le probleme de password root sur un nouveau sme, enlevez la ligne dans le fichier suivant. | ||
/usr/bin/mysqldump mysql -it --skip-opt --dump-date >/home/e-smith/db/mysql/daily/A_Rapid_Mysql_DB_users_restore.sql | /usr/bin/mysqldump mysql -it --skip-opt --dump-date >/home/e-smith/db/mysql/daily/A_Rapid_Mysql_DB_users_restore.sql | ||
− | |||
#################### | #################### |
Version actuelle en date du 6 octobre 2014 à 13:38
Article spammé - récupération à partir de l'historique (rév. du 22 aout 2007) Tout d'abord Mysql est en version 4 sous SME 7.0.
Vous pouvez l'administrer facilement par le web avec phpmyadmin, un rpm est disponible, vous pouvez le trouver sur http://www.contribs.org
Sommaire
Utilisation de mysql
Attention ne pas utiliser le compte root pour vos applications web, à la place créez en un spécifique. Pour créer un utilisateur en ligne de commande suivez le how to de GrandPa ( http://smeserver.fr/astuces.php?astuce=mysql_users_create ). Pour creer un utilisateur avec phpmyadmin d'abord créez la base vide qu'il devra gerer, ensuite allez dans privileges puis ajouter un utilisateur, donner lui un nom, serveur: localhost, choisissez le mot de passe. Puis créez l'utilisateur sans rein cocher de plus. A la page suivante vous pourez choisir la base que vous avez créé, puis donner tous les droits voulu sur cette base, validez et le tour est joué votre base et son utilisateur sont prés à être utilisé dans n'importe quel application web.
Interface graphique
Voici un petit how to pour Installer_phpMyAdmin. Phpmyadmin vous permettra de gerer avec une interface web votre base mysql pour les taches les plus courantes.
Sauvegarde de mysql
voici un petit script que j'apprecie pour la sauvegarde des mes bases dans des fichiers séparés: vous pouvez simplement le poser dans /etc/cron.daily/sauve_mysql, ou même dans /etc/cron.hourly/sauve_mysql
#!/bin/sh # Absolute path to this script. SCRIPT=$(readlink -f $0) # Absolute path this script is in. /etc/cron.daily, to know if it is in cron.hourly , cron.daily or elsewhere SCRIPTPATH=`dirname $SCRIPT|rev| cut -d/ -f1|cut -d. -f1|rev` if [[ "$SCRIPTPATH" == "hourly" ]] then # variable de date DATE=$(date +%Y-%m-%H) # SCRIPTPATH="hourly" obviously # purge after $PURGE days PURGE=7; else # variable de date DATE=$(date +%Y-%m-%d) SCRIPTPATH="daily" # purge after $PURGE days PURGE=60; fi # liste des bases mysql FILE=(`mysqlshow|sed -e "/^+--/d"|sed -e "/Database/d"|cat|tr '\n' ' '|sed -e "s/|//g"|sed -e "s/ //"`) #nb de bases nb_element=${#FILE[*]} #################### # sauvegarde #################### mkdir -p /home/e-smith/db/mysql/${SCRIPTPATH}/${DATE}/ index=0 while [ "$index" -lt "$nb_element" ] do #dump de toutes les bases #echo ${FILE[$index]} # si taille plus importante que 10Mio on compresse if [ -d "/var/lib/mysql/${FILE[$index]}" ];then SIZE=`du -s /var/lib/mysql/${FILE[$index]}|cut -f1` else SIZE="1"; fi if [[ "$SIZE" -lt "10000" ]]; then /usr/bin/mysqldump -aec ${FILE[$index]} > /home/e-smith/db/mysql/${SCRIPTPATH}/${DATE}/dumpdaily${DATE}-${FILE[$index]}.sql else #si vous avez des bases très grosses vous pouvez préférer ceci : /usr/bin/mysqldump -aec ${FILE[$index]} | gzip -c > /home/e-smith/db/mysql/${SCRIPTPATH}/${DATE}/dumpdaily${DATE}-${FILE[$index]}.sql.gz fi let "index = $index + 1" done # voici un dump rapide des entrées de la base mysql pour rajouter les users et privilèges voulus en moins de deux # une méthode simple pour éviter le probleme de password root sur un nouveau sme, enlevez la ligne dans le fichier suivant. /usr/bin/mysqldump mysql -it --skip-opt --dump-date >/home/e-smith/db/mysql/daily/A_Rapid_Mysql_DB_users_restore.sql #################### #purge n jours ##################### nice find /home/e-smith/db/mysql/${SCRIPTPATH} -type d -mtime +"60" |xargs rm -fr # d directory f files # mtime en jours
--WikiSysop 3 juillet 2006 à 15:13 (CEST)
rendre accessible depuis le reseau local
config setprop mysqld LocalNetworkingOnly no expand-template /etc/my.cnf service mysqld restart
rendre accessible depuis l'internet
attention cette manipulation est utile uniquement si vous desirez contacter directement votre base depuis l'internet: ELLE N'EST PAS A REALISER POUR VOIR SON CONTENU GRACE A UNE PAGE WEB HEBERGEE SUR VOTRE SME.
Réaliser cette manoeuvre provoque une exposition dangeureuse de votre base mysql
config setprop mysqld TCPPort 3306 acces public status enabled LocalNetworkingOnly no expand-template /etc/my.cnf service mysqld restart signal-event remoteaccess-updates