設定

時間の確認

SELECT now();
SELECT CURRENT_DATE(), CURRENT_TIME(), CURRENT_TIMESTAMP();

SHOW VARIABLES LIKE '%time%';
SELECT @@global.time_zone, @@session.time_zone; # SYSTEMはデータベースのインストールされている箇所の時間
SELECT * FROM mysql.time_zone; # 空なら: mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

文字コード(varcharの場合)の確認

SHOW VARIABLES LIKE '%char%';

・Encoding
utf8mb4か確認

・Collation(文字の順序)
utf8mb4か確認

上限の確認

SHOW VARIABLES LIKE '%max%';

SQLモード

select @@session.sql_mode;

ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES, # サイズを超えるデータを格納しようとしたときに例外を投げる
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION

オートコミット

SHOW VARIABLES LIKE '%commit%';
autocommit ON

テーブルの設定

SHOW TABLE STATUS like 'film';
Engine: InnoDB
Version: 10
Data_length: 196608
Index_length: 81920
Auto_increment: 1001

再帰の上限

# 1000
SHOW VARIABLES LIKE '%cte_max_recursion_depth%';

SELECTの強制タイムアウト(ms)

# 0(強制タイムアウトしない)
SHOW VARIABLES LIKE '%max_execution_time%';

全て

SHOW VARIABLES;