SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

Category / MySQL

【MySQL】mysqldump で Too many open files が出たとき

2020-05-15 問題 mysqldumpしていたら、以下のようなエラーが出ました。 mysqldump: Got error: 23: Out of resources when opening file './xxx/yyy.MYD' […]

【MySQL】透過的暗号化で問題が発生した例

2020-03-26 問題 以下を実行すると、エラーになりました。 CREATE TEMPORARY TABLE xxx LIKE yyy; エラーメッセージ This tablespace can't be encrypted. 答え My […]

double, floatとdecimalの違い

2019-07-16 問題 float, double と decimal の違いが判りません。 どちらも小数で同じなのでは? 答え double、float は10進数の小数を2進数の小数で表現した近似値。お金の計算などには使えない。 10 […]

【MySQL】WHERE句にORを大量につなげると遅くなることがある

2019-04-30 問題 複合キーのテーブルで、以下のようなSQLがものすごい時間をかけているのを見かけました。 UPDATE xxxx SET xxx_flag = 1 WHERE (order_no = '20180921-001237 […]

【MySQL】スロークエリーログの確認ポイント

2019-04-08 問題 slow log はどこをどう見たらよいですか。 答え slow_query_log=1にすると、long_query_timeで指定した秒数以上かかったSQLをログファイルに残してくれる。 ログは以下のような内容 […]

【MySQL】The table ‘xxxx’ is full のエラー

2019-04-04 問題 MySQLで、普通のINSERT文の実行なのですが、以下のエラーが出ました。 Error 'The table 'xxxx' is full' on query. Default database: 'xxx'. […]

【MySQL】utf8なデータベースで4byte文字を格納する方法

2018-09-24 問題 MySQLのutf8なデータベースでは、吉野家の吉(実際は上が長い)とか、スマホの絵文字とか格納できないですよね? utf8mb4にしないとダメですよね? 答え 格納だけ考えるなら、blob型にするのもよいでしょう […]

MySQLサーバーを新規に別ポートで起動する

2018-03-30 問題 普段使っているMySQLは3306番ポートをlistenしていますが、 一時的に新規でまっさらのMySQLを立ち上げたいです。 答え ダンプをとってからまっさらにする、datadirを別にして起動しなおすという手も […]

【MySQL】Incorrect file format のエラー対応

2018-02-28 問題 以下のエラーで、MyISAMエンジンのテーブルを参照できません。 error: 130: Incorrect file format ‘some_table’ 答え まずはrepairを試す。 mysqlcheck […]

MySQLのダンプからのリストア所要時間の予想

2018-02-27 問題 今、10GBぐらいあるダンプファイルをMySQLのデータベースにリストアしているんだけど、 いったいいつ頃終わるんでしょうね? 答え1 私がよく触るある環境では1GBあたり2分ぐらいかかります。 そんな感じで、いつ […]

【MySQL】テーブル破損対応(mysqlcheck コマンド)

2017-12-15 問題 MySQLが強制終了されてから様子がおかしいです。 どうやって状況の確認、修正の対応などするとよいでしょうか。 答え MyISAMテーブルの場合は、mysqlcheck コマンドが使える。 mysqlcheck コ […]

【MySQL】#1271 – Illegal mix of collations for operation ‘concat’

2017-12-13 問題 MySQLで以下のようなSQLを実行したら、エラーになりました。 SELECT CONCAT(first_name, if(first_name, ' ',''), last_name) from staff; # […]

【MySQL】SQLがなぜか遅いときの原因のひとつ

2017-04-02 問題 あるSELECT文の実行が異様に遅いです。 インデックスは作成してあるので効くはずなのに、インデックスが使用されている様子もないです。 なぜ? 答え SQL自体には問題はないはずなのに、なぜかインデックスが効かない […]

【MySQL】小数

2017-03-22 問題 MySQLで小数の計算すると端数が変になります? 答え ▼ テーブル カラム名 型 id int test_double double test_float float test_decimal decimal(1 […]

MySQLのバイナリログを自動的に圧縮して退避する

2017-03-20 問題 MySQLのバイナリログがそこそこの容量になるので、圧縮して退避したい。 ただ、ログ調査などのために一定期間は消さずに残したい。 できますか。 答え バイナリログは、/var/lib/mysql などのMySQLの […]

【MySQL】空き容量に余裕のないサーバーでダンプ・リストアするとき

2016-11-15 問題 空き容量に余裕がない状況で、MySQLのダンプ・リストアをするには? 答え ダンプをとるときは、そのままファイルに書き出さないで、gzipで圧縮して保存する。 mysqldump -u 【ユーザー名】-p【パスワー […]

【MySQL】 Row size too large のエラーの対応

2016-11-09 問題 MySQLのデータベースに たくさんのTEXT型カラムを持ったテーブルを作り、 いざデータを登録しようとしたところ、エラーが出ました。 Row size too large 答え 設定で innodb_file_f […]

【MySQL】昇順にソートしたいけどNULL行は後ろにもってきたい

2016-01-17 問題 SQLで、結果をソートするときに、NULLの行は後ろにもっていくとか、できますか? 答え 一応できる。 select * from T order by ソートしたい列 is null, ソートしたい列; ソートし […]

【MySQL】月初、月末の計算方法

2015-12-19 問題 MySQLでの日付計算で、月初や月末を出すのはどうやったらよいですか。 答え CURDATE() は、日付型カラムなどに置き換えてお使いください。 -- 当月月初 SELECT DATE_FORMAT(CURDAT […]

【MySQL】手軽な高速化手段

2015-11-21 問題 忙しそうなMySQLを高速化したい。 答え もし現在の設定が以下のようであれば mysql< show variables like 'innodb_flush_log_at_trx_commit'; +-- […]