web-dev-qa-db-ja.com

文字セット「utf-8」はコンパイルされた文字セットではなく、「/ usr / share / mysql / charsets / Index.xml」ファイルで指定されていません

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-8utf-8の両方を試しました。

いくつか質問があります。最初に、--default-character-setは期待どおりに機能しないため、省略できますか?第二に、--default-character-setを使用する必要がある場合、UTF-8の指定には何が使用されますか?


3番目の関連する質問は、wikiとデータベースをオフラインにしてからデータベースの物理的なコピーを作成することで、mysqldumpをすべて忘れることができますか?復元のために物理データベースのコピーを作成できてうれしいです。そして、私は本当に彼らが解決するよりも多くのトラブルを引き起こすツールを使うことにあまり気にしません。

3番目の項目が実行可能なオプションである場合、コピーする必要がある物理データベースファイルは何ですか?

4
jww

まず、期待どおりに機能しないため、-default-character-setを省略できますか?

最初のオプションを選択し、アップグレードを進めました。走行距離は異なる場合があります。

0
jww

私は同じ問題を抱えていました:

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
2
t1mothy

私の場合は同じコマンドでしたが、confファイルを変更する必要はなく、--default-character-setコマンドは実際に機能します。これはMySQLのバグです。MySQLの場合は「utf-8」を「utf8」または「utf8mb4」に変更するだけです。

2
Juan Felipe