J'ai occasionnellement perdu mon fichier de configuration "/etc/mysql/my.cnf" et je souhaite le restaurer. Le fichier appartient au package mysql-common
qui est nécessaire pour certaines fonctionnalités vitales, donc je ne peux pas simplement purge && install
it: les dépendances seraient également désinstallées (ou si je peux les ignorer temporairement, elles ne fonctionneront pas).
Existe-t-il un moyen de restaurer le fichier de configuration à partir d'un package sans dés -ar
- le fichier de package?
dpkg-reconfigure mysql-common
ne l'a pas restauré.
dpkg -i --force-confmiss mysql-common.deb
recréera tous les fichiers de configuration manquants, c'est-à-dire /etc/mysql/my.cnf
dans ton cas.
Dans Debian Squeeze - au moins -, nous pouvons aussi le faire de cette façon, après su
- ou Sudo
pour Ubuntu -
aptitude install -o Dpkg::Options::=--force-confmiss mysql-server
Cela prendra en charge les dépendances de mysql-server
et réinitialiser tous les fichiers de conf manquants du lot, y compris mysql-common
. Les fichiers en conflit (restants) seront invités à être conservés ou réinitialisés.
Malheureusement, il y a n bogue dans aptitude , et
aptitude purge -o Dpkg::Options::=--force-all mysql-server
ne fonctionnera pas . Nous devons donc le faire un par un avec
dpkg --force-all --purge mysql-common mysql-server mysql-client …
Cela supprimera tout fichier de configuration , original ou modifié, mais les fichiers personnalisés sera conservé, avec un message à l'écran. Notez d'ailleurs que dpkg
reconnaît également --force-confnew
et --force-confold
options.
Obtenir mysql-server
liste des dépendances imprimée à l'écran:
aptitude --simulate remove mysql-server
Rien de ce qui précède n'a fonctionné pour moi - peut-être obsolète - de toute façon, j'ai trouvé cette solution:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall mysql-common
Vous pouvez trouver les fichiers de configuration mysql par défaut dans /usr/share/doc/mysql-server-5.0/examples/
ou similaire. C'est peut-être tout ce dont vous avez besoin, sauf si certaines configurations vraiment spéciales/ésotériques sont activées.
Il semble que certaines des autres solutions ne fonctionneront pas si les fichiers de configuration du paquet sont gérés avec ucf
.
Dans ce cas, vous pouvez utiliser:
UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]
Dans mon /etc/mysql/
répertoire, j'ai un my.cnf.orig
fichier contenant le contenu d'origine de my.cnf
.
Je ne sais pas où /etc/mysql/my.cnf.orig
vient de - c'est-à-dire, si I l'a créé, ou si l'installation de mysql l'a fait. Je me souviens avoir vérifié à un moment donné que était exactement le même que my.cnf
Si vous avez une telle chose, et nonmy.cnf
vous pouvez copier l'un sur l'autre.
Sudo cp /etc/mysql/my.cnf.orig /etc/mysql/my.cnf
Dans tous les cas, il s'agit d'un simple fichier texte de 3897 octets et vous pouvez copier et coller à partir d'un fichier de configuration Mysql générique.
Ce sera une bonne idée une fois que vous aurez restauré votre /etc/mysql/my.cnf
pour effectuer une copie afin de pouvoir la restaurer facilement à l'avenir.
Vous devez réinstaller mysql-common avec cette commande: apt-get install --reinstall mysql-common