by shigemk2

当面は技術的なことしか書かない

MySQL

MySQL サーバーエラー一覧

クライアントエラーは別ページ よく出てくるっぽい1064エラーはパースエラーのシンタックスエラー drop table hogehoge-fugafuga みたいなのは真ん中にハイフンが入ってて減算演算子扱いだから処理に困ってエラーになるのでなんかのクォートで囲むべし ERROR…

MySQL SUBSTRING

SUBSTRはSUBSTRINGのシノニム 起点は0じゃなくて1なので mysql> SELECT SUBSTRING('Quadratically',5); -> 'ratically' mysql> SELECT SUBSTRING('foobarbar' FROM 4); -> 'barbar' mysql> SELECT SUBSTRING('Quadratically',5,6); -> 'ratica' mysql> SELEC…

INFORMATION_SCHEMA STATISTICS Table

index情報を一覧するテーブル 個別だったらshow indexでもいい dev.mysql.com

Cloud SQLバージョン

Aurora MySQLのようなLTSはCloud SQLにはなさげ 拡張サポートはあるが有料 特定のバージョンが他のバージョンよりEOLが先などはない cloud.google.com docs.aws.amazon.com

NO_AUTO_CREATE_USER

8.0で廃止 sql_modeの中で指定される 5.7→8.0でデータをdumpするときにエラーになる 認証情報が指定されない限り、GRANT ステートメントが自動的に新しいユーザアカウントを作成しないようにします。 文はIDENTIFIED BYを使用して空でないパスワードを指定す…

Installing MySQL on Linux Using the MySQL Yum Repository

Amazon Linux2は引き続きyumで… dev.mysql.com

MySQL8 InnoDB ファイル形式変数が削除

とのこと innodb_large_prefixなんかはそもそも767バイトもオーバーするようなインデックスを設計するなよっていう話でもある 次の InnoDB ファイル形式変数が削除されました: innodb_file_format innodb_file_format_check innodb_file_format_max innodb_l…

MySQL KEY vs INDEX

ほぼ同義語。 KEY is normally a synonym for INDEX. The key attribute PRIMARY KEY can also be specified as just KEY when given in a column definition. This was implemented for compatibility with other database systems. dev.mysql.com

COLLATION_CHARACTER_SET_APPLICABILITY

INFORMATION_SCHEMA.TABLESに文字セットないので、COLLATION_CHARACTER_SET_APPLICABILITYから付き合わせていくのがよろしいかと dev.mysql.com

INFORMATION_SCHEMA TABLES テーブル

照合順序はあるけど文字セットはない dev.mysql.com

MySQL 照合suffixの意味

ってこと サフィックス 意味 _ai アクセントを区別しない _as アクセントを区別する _ci 大文字小文字を区別しない _cs Case-sensitive _ks カナを区別する _bin バイナリ アクセントの区別を指定しない非バイナリ照合順序名の場合、大文字と小文字の区別に…

MySQL secure_auth

If this variable is enabled, the server blocks connections by clients that attempt to use accounts that have passwords stored in the old (pre-4.1) format. Enable this variable to prevent all use of passwords employing the old format (and h…

binlogとは

MySQLデータベースサーバーで行われたすべてのデータの変更を記録するために使用されるログファイルである レプリケーション: binlogは、マスターサーバーで発生したデータの変更をスレーブサーバーに転送し、データベースのレプリケーションを実現するため…

mysqldumpの1044 Access denied when using LOCK TABLES

ポイントはロックテーブルへのアクセス。 michaelrigart.be ダンプされるテーブルに対する SELECT 権限、ダンプされるビューに対する SHOW VIEW、ダンプされるトリガーに対する TRIGGER、および --single-transaction オプションが使用されない場合には LOCK…

行ロック

特定の行だけ排他制御する。 MySQLだと SELECT xxxx FOR UPDATE; dev.mysql.com

SHOW COLUMNSとDESCRIBE

DESCRIBE ステートメントは、SHOW COLUMNS と同様の情報を提供します。セクション13.8.1「DESCRIBE 構文」を参照してください。 そして DESC は DESCRIBE の省略形式です。詳細については、セクション13.8.1「DESCRIBE 構文」を参照してください。 ってこと…

GROUP_CONCAT

集約してconcatして一つの文字列にまとめるあれ(デフォルトの区切り文字はカンマ) GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val]) ので、50 100 20 30みた…

max_user_connections vs Max_used_connections

max_user_connections 任意の特定のアカウントで実行できる同時接続の数 0だと無制限 Max_used_connections サーバーが開始されてから同時に使用された接続の最大数 似てるようで違う。

MyISAM InnoDB

マジモンの今更 MyISAM 昔のデフォルト テーブルごとに3種類のデータファイル 定義 インデックス レコード トランザクション対応してない ファイルへの書き込み InnoDB 今のデフォルト(5.5以降) トランザクション対応 クラスター化されたインデックス テーブ…

single-transaction

mysqldumpするときの小技 このオプションは、データのダンプ前に、トランザクション分離モードを REPEATABLE READ に設定し、START TRANSACTION SQL ステートメントをサーバーに送信します。これは、InnoDB などのトランザクションテーブルの場合にかぎって…

MySQL REFERENCES

ここが重要かもしれない。バージョンによっては機能したりしなかったりするらしいけど5.6でもマイナーバージョンによっては機能することもあるらしいからよくわからない For storage engines other than InnoDB, it is possible when defining a column to u…

STRICT_TRANS_TABLES

sql modeにSTRICT_TRANS_TABLESがあるとdefault not nullなのにnull入れようとしたらエラーになる sql modeにSTRICT_TRANS_TABLES入れなかったらdefault not nullでもINSERTできる RDS AuroraにSTRICT_TRANS_TABLESは入っていない docker-composeではよしな…

MySQL SET型

予め決められた値のなかでしかSETの値を決められないのはちょっと厳しい MySQL :: MySQL 5.6 リファレンスマニュアル :: 11.4.5 SET 型

MySQL timediff

timediff あとの時間を第一引数、さきの時間を第二引数 mysql> SELECT TIMEDIFF('2008-12-31 01:01:01.000000', '2008-12-31 01:01:00.000000'); +----------------------------------------------------------------------+ | TIMEDIFF('2008-12-31 01:01:0…

MySQL DO構文

式を実行して結果を返さない。(殆どの場合において)SELECTの短縮形らしいし、SELECTより若干高速。 DO SLEEP(5); MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.3 DO 構文

MySQLのサーバーシステム変数一覧 リンク

MySQLのサーバーシステム変数一覧 リンク だからなんだっていえばそのとおりだけど MySQL :: MySQL 5.6 リファレンスマニュアル :: 5.1.4 サーバーシステム変数

INSERT IGNORE

重複キーエラー対策などに使われる。 IGNORE キーワードを使用した場合、INSERT ステートメントの実行中に発生したエラーは無視されます。たとえば、IGNORE を使用しない場合は、テーブル内の既存の UNIQUE インデックスまたは PRIMARY KEY 値を複製する行に…

REORGANIZE PARTITION

パーティションを削除すると、そのパーティションに格納されていたすべてのデータも削除されることを覚えておくことは非常に重要です。前の SELECT クエリーを再実行することで、これが本当であることを確認できます。 ってことで、データを削除しないでパー…

MySQL パーティション リンク

そのうち必要になるかも。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 19.5 パーティション選択 MySQL :: MySQL 5.6 リファレンスマニュアル :: 19.2.3.1 RANGE COLUMNS パーティショニング

show tables

show tablesでviewも出せる MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.7.5.14 SHOW CREATE VIEW 構文 MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.7.5.38 SHOW TABLES 構文