Mysql : Différence entre versions

De SME Server Wiki
(Utilisation de mysql)
Ligne 40 : Ligne 40 :
  
 
--[[Utilisateur:WikiSysop|WikiSysop]] 3 juillet 2006 à 15:13 (CEST)
 
--[[Utilisateur:WikiSysop|WikiSysop]] 3 juillet 2006 à 15:13 (CEST)
 +
 +
 +
== J'ai modifié le mot de passe root... ==
 +
 +
Il ne faut surtotu pas modifier le mot de passe root general qui est stocké dans un fichier pour l'utilisation du ldap. Celui ci fait plus de 70 caracteres.
 +
c'est ce meme mot d epasse qui est utilisé derriere votre dos pour acceder à mysql en ligne de commande par exemple.
 +
Ne modifier donc pas le mot de passe stocké dans la table user de la base mysql. ne modifiez pas cette table non plus.
 +
 +
Si vous avez fait une telle betise voila le remede pour sme 7:
 +
 +
cd /service/mysqld
 +
runsvctrl d .
 +
cat set.password | /usr/libexec/mysqld --bootstrap  --user=mysql --skip-grant-tables
 +
runsvctrl u .
 +
 +
Si c'est insuffisant voila pour reparer totalement mysql : attention cette methode ecrase toutes les bases existantes:
 +
cd /service/mysqld
 +
runsvctrl d .
 +
/etc/e-smith/events/actions/mysql-delete-db-files
 +
signal-event post-upgrade
 +
signal-event reboot

Version du 30 juillet 2006 à 17:49

Tout d'abord Mysql est en version 4 sous SME 7.0.

Vous pouvez l'amdinistrer facilement par le web avec phpmyadmin, un rpm est disponible, vous pouvez le trouver sur http://www.contribs.org

Utilisation de mysql

Attention ne pas utiliser le compte root pour vos applications web, à l aplace 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 toru est joué votre base et son utilisateur sont prés à être utilisé dans n'importe quel application web.

Sauvegarde de mysql

voici un petit script que j'apprecie pour la sauvegarde des mes bases dans des fichiers séparés:


#!/bin/sh
# variable de date
DATE=$(date +%Y-%m-%d)
# 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/daily/${DATE}/
index=1
while [ "$index" -lt "$nb_element" ]
do #dump de toutes les bases
#echo ${FILE[$index]}
/usr/bin/mysqldump -aec ${FILE[$index]} > /home/e-smith/db/mysql/daily/${DATE}/dumpdaily${DATE}-${FILE[$index]}.sql
let "index = $index + 1"
done
####################
#purge 60 jours
#####################
nice find /home/e-smith/db/mysql/daily -type d -mtime +"60" |xargs rm -fr
# d directory  f files
# mtime en jours

--WikiSysop 3 juillet 2006 à 15:13 (CEST)


J'ai modifié le mot de passe root...

Il ne faut surtotu pas modifier le mot de passe root general qui est stocké dans un fichier pour l'utilisation du ldap. Celui ci fait plus de 70 caracteres. c'est ce meme mot d epasse qui est utilisé derriere votre dos pour acceder à mysql en ligne de commande par exemple. Ne modifier donc pas le mot de passe stocké dans la table user de la base mysql. ne modifiez pas cette table non plus.

Si vous avez fait une telle betise voila le remede pour sme 7:

cd /service/mysqld
runsvctrl d .
cat set.password | /usr/libexec/mysqld --bootstrap  --user=mysql --skip-grant-tables
runsvctrl u .

Si c'est insuffisant voila pour reparer totalement mysql : attention cette methode ecrase toutes les bases existantes:

cd /service/mysqld
runsvctrl d .
/etc/e-smith/events/actions/mysql-delete-db-files
signal-event post-upgrade
signal-event reboot