設定ファイル "/etc/mysql/my.cnf"を失ってしまい、それを復元したい。ファイルは、いくつかの重要な機能に必要なパッケージmysql-common
に属しているため、purge && install
だけではできません。依存関係もアンインストールされます(または、一時的に無視できる場合は、依存関係がなくなりますワーキング)。
パッケージファイルをun _ar
- ingせずにパッケージから構成ファイルを復元する方法はありますか?
dpkg-reconfigure mysql-common
はそれを復元しませんでした。
dpkg -i --force-confmiss mysql-common.deb
は、不足している構成ファイルを再作成します。つまり、/etc/mysql/my.cnf
あなたの場合。
Debian Squeezeでは—少なくとも— su
—またはUbuntuの場合はSudo
の後に、この方法で行うこともできます—
aptitude install -o Dpkg::Options::=--force-confmiss mysql-server
これはmysql-server
の依存関係を考慮し、mysql-common
を含むロットのすべての欠落しているconfファイルをリセットします。競合する(残りの)ファイルは、保持またはリセットするように求められます。
残念ながら、 aptitudeのバグ があり、
aptitude purge -o Dpkg::Options::=--force-all mysql-server
は機能しません。だから私たちはそれを一つずつ行う必要があります
dpkg --force-all --purge mysql-common mysql-server mysql-client …
これにより、元のファイルまたは変更された構成ファイルがすべて削除されますが、カスタムファイルは保持され、画面上のメッセージが表示されます。なお、dpkg
は--force-confnew
および--force-confold
オプションも認識します。
mysql-server
依存関係のリストを画面に出力するには:
aptitude --simulate remove mysql-server
上記のいずれも私にとってうまくいかなかった-おそらく時代遅れ-とにかく、私はこの解決策を見つけました:
apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall mysql-common
デフォルトのmysql設定ファイルは/usr/share/doc/mysql-server-5.0/examples/
または同様の場所にあります。本当に特別で難解な設定を有効にしていない限り、これで十分です。
他のソリューションの一部が機能しないようです パッケージの構成ファイルが管理されている場合 with ucf
。
この場合、以下を使用できます。
UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname]
私の/etc/mysql/
ディレクトリには、my.cnf.orig
の元のコンテンツを含むmy.cnf
ファイルがあります。
/etc/mysql/my.cnf.orig
がどこから来たのか、つまり[〜#〜] i [〜#〜]で作成されたか、mysqlのインストールで作成されたかはわかりません。それを一度にチェックしたことを覚えていますあったmy.cnf
とまったく同じ
あなたがそのようなものを持っていて、そしてnomy.cnf
なら、一方を他方にコピーすることができます。
Sudo cp /etc/mysql/my.cnf.orig /etc/mysql/my.cnf
いずれにせよ、それは3897バイトの単純なテキストファイルであり、一般的なMysql構成ファイルからコピーして貼り付けることができます。
復元したら/etc/mysql/my.cnf
をコピーして、後で簡単に復元できるようにすることをお勧めします。
次のコマンドでmysql-commonを再インストールする必要があります:apt-get install --reinstall mysql-common