&tag(MySQL/トラブルシューティング);
ネットワーク経由で接続できない†[edit]
- skip-networkingが設定されていないかどうか確認する。設定されていたらコメントアウトする。
- bind-addressを確認する。bind-addressで指定されたアドレスからしか接続できない。あらゆるホストから接続したい場合、bind-addressをコメントアウトする。
- Access deniedになる場合は、Grantで接続したいアドレスつきで権限を与える。
InnoDB: Error: log file ./ib_logfile0 is of different size 0 XXXXXX bytes†[edit]
MySQLのTimestamp型は特殊†[edit]
ODBC呼び出しが失敗する。†[edit]
- Accessは64bit版ODBCドライバに対応してないらしいので、32bit版をインストールする。
- C:\Windows\SysWOW64\odbcad32.exeを使えという情報もあるがコントロールパネルから設定しても大丈夫だった。
utf8mb4でConnector/Jを使う†[edit]
incorrect string value†[edit]
データのインポート†[edit]
ERROR 2006 (HY000) at line 445: MySQL server has gone away†[edit]
MySQLのデータフォルダが以上に容量を消費している(Linux)†[edit]
LOAD DATA LOCAL INFILEでエラー†[edit]
- 末尾に\Nを指定してNULLをintの列に読み込ませようとincorrect valueといわれ失敗していた。
- ひょっとしてintにNULLが設定できないかと思ったがそういうわけではなくて、改行コードの指定がだめだった模様。LINES TERMINATED BY '\n'のように改行コードをきちんと指定すれば大丈夫になった(行の最後に\Nがあったのでこれが混乱した?)
The used command is not allowed with this MySQL versionが表示される場合†[edit]
- コマンドラインで以下のオプションを渡す
mysql --local-infile=1
- もしくはmy.cnfの[mysql]セクションに以下を追加。
local-infile=1
Unknown collation: 'utf8mb4_unicode_520_ci'†[edit]
- utf8mb4_unicode_520_ciはMySQL 5.6以降でサポートされているためMySQL 5.6より前のバージョンでそのままインポートしようとすると上記のエラーが発生する。
- utf8mb4_unicode_520_ciをutf8mb4_unicode_ciに置き換えるしかない。
innodb_force_recoveryがどうのこうのといわれる†[edit]
- ディスク故障/不正なシャットダウンなどでinnodbのデータベースファイルが不整合を起こした場合に発生。
- my.cnfに「innodb_force_recovery = 1」を入れて再起動し、起動したらデータベースをdumpするという作業を行わないとだめらしい(innodb_force_recovery = 1をいれたままの運用はだめ)。
Error: tablespace id is XXXXX in the data dictionary†[edit]
Access Deniedでアクセスできない†[edit]
- mysqlデータベース込みでデータをリストアした場合、ユーザー・パスワードが変わる可能性があるので注意。
- mysqld_safe --skip-grant-tables で状態を確認できるけどこの状態ではパスワードを設定できない?
- バックアップがあるならば/var/lib/mysql以下を一端削除して、mysql_secure_installationを再度実行しなおしたほうがよいかも。
Last-modified: 2022-04-11 (月) 15:28:00