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