MediaWikiソフトウェアをアップグレードしようとしています。 Manual:Upgradeing -> UPGRADE -> Manual:Backing_up_a_wiki によると、データベースのバックアップは次のようになります:
mysqldump -h hostname -u userid -p --default-character-set=whatever dbname > backup.sql
パラメーターと--default-character-set=utf-8
を指定してコマンドを実行すると:
$ Sudo mysqldump -h localhost -u XXX -p YYY --default-character-set=utf-8 ZZZ >
backup.sql
mysqldump: Character set 'utf-8' is not a compiled character set and is not spec
ified in the '/usr/share/mysql/charsets/Index.xml' file
Index.xml
をチェックすると、utf-8
が使用可能であることが示されます。 UTF-8
は、具体的には Manual:$ wgDBTableOptions によって呼び出されます。
$ cat /usr/share/mysql/charsets/Index.xml | grep -B 3 -i 'utf-8'
...
<charset name="utf8">
<family>Unicode</family>
<description>UTF-8 Unicode</description>
<alias>utf-8</alias>
...
Manual:$ wgDBTableOptions で指定されているUTF-8
とutf-8
の両方を試しました。
いくつか質問があります。最初に、--default-character-set
は期待どおりに機能しないため、省略できますか?第二に、--default-character-set
を使用する必要がある場合、UTF-8
の指定には何が使用されますか?
3番目の関連する質問は、wikiとデータベースをオフラインにしてからデータベースの物理的なコピーを作成することで、mysqldump
をすべて忘れることができますか?復元のために物理データベースのコピーを作成できてうれしいです。そして、私は本当に彼らが解決するよりも多くのトラブルを引き起こすツールを使うことにあまり気にしません。
3番目の項目が実行可能なオプションである場合、コピーする必要がある物理データベースファイルは何ですか?
まず、期待どおりに機能しないため、-default-character-setを省略できますか?
最初のオプションを選択し、アップグレードを進めました。走行距離は異なる場合があります。
私は同じ問題を抱えていました:
ERROR: Unable to start MySQL server:
mysqld: Character set 'UTF-8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
mysqld: Character set 'UTF-8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Mysqld.cnfを編集して変更しました
character-set-server = UTF8
に
character-set-server = utf8mb4
私の場合は同じコマンドでしたが、confファイルを変更する必要はなく、--default-character-set
コマンドは実際に機能します。これはMySQLのバグです。MySQLの場合は「utf-8」を「utf8」または「utf8mb4」に変更するだけです。