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: 2019-10-26 (土) 23:57:41