InfraLab
MYSQL40 cmd

MySQL / MariaDB 運用チート集

MySQL / MariaDB の接続、ユーザー権限、DDL、EXPLAIN、バックアップ、GTID レプリケーション、Performance Schema、InnoDB 診断を整理したチート集。

更新日
2026-05-14
参照範囲
公式ドキュメント / man page / 主要ベンダーCLI
対象実装
主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
免責
OS とバージョン差分は実環境で確認してください。

40 / 40

CommandDescriptionExampleCopy
mysql -h -u -pホストとユーザーを指定して接続する。mysql -h db.example.com -u appuser -p appdb
mysql --ssl-mode=REQUIREDTLS 必須で接続する。mysql --ssl-mode=REQUIRED -h db.example.com -u appuser -p appdb
SHOW DATABASESデータベース一覧を表示する。SHOW DATABASES;
SHOW TABLESテーブル一覧を表示する。SHOW TABLES FROM appdb;
DESCRIBEテーブル定義を確認する。DESCRIBE appdb.orders;
\G縦表示で長い行を読みやすくする。SHOW ENGINE INNODB STATUS\G
CREATE USERユーザーを作成する。CREATE USER 'appuser'@'10.%' IDENTIFIED BY 'change-me';
GRANT権限を付与する。GRANT SELECT, INSERT, UPDATE ON appdb.* TO 'appuser'@'10.%';
CREATE ROLEMySQL 8 のロールを作成する。CREATE ROLE 'app_readonly'; GRANT SELECT ON appdb.* TO 'app_readonly';
SET DEFAULT ROLEユーザーの既定ロールを設定する。GRANT 'app_readonly' TO 'alice'@'%'; SET DEFAULT ROLE 'app_readonly' TO 'alice'@'%';
FLUSH PRIVILEGES権限テーブルを再読込する。FLUSH PRIVILEGES;
CREATE DATABASE文字コード付きで DB を作成する。CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
CREATE TABLE InnoDBInnoDB テーブルを作成する。CREATE TABLE orders (id BIGINT PRIMARY KEY AUTO_INCREMENT, customer_id BIGINT NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB;
ALTER TABLE ADD INDEXオンライン DDL で index を追加する。ALTER TABLE orders ADD INDEX idx_customer_created (customer_id, created_at), ALGORITHM=INPLACE, LOCK=NONE;
generated column生成列と index を作る。ALTER TABLE events ADD COLUMN user_id BIGINT GENERATED ALWAYS AS (json_extract(payload, '$.user_id')) STORED, ADD INDEX idx_user_id (user_id);
EXPLAIN実行計画を確認する。EXPLAIN SELECT * FROM orders WHERE customer_id = 42 ORDER BY created_at DESC LIMIT 20;
EXPLAIN ANALYZE実測付き実行計画を確認する。EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 42;
EXPLAIN FORMAT=JSONJSON 形式で詳細な計画を確認する。EXPLAIN FORMAT=JSON SELECT * FROM orders WHERE status = 'ready'\G
optimizer_traceオプティマイザ判断を追跡する。SET optimizer_trace="enabled=on"; SELECT * FROM orders WHERE id=1; SELECT trace FROM information_schema.optimizer_trace\G
SHOW INDEXindex のカーディナリティを確認する。SHOW INDEX FROM orders FROM appdb;
ANALYZE TABLE統計情報を更新する。ANALYZE TABLE appdb.orders;
mysqldump single-transactionInnoDB を一貫性付きで論理バックアップする。mysqldump --single-transaction --routines --triggers appdb > appdb.sql
mysqldump restoreSQL ダンプを復元する。mysql appdb_restore < appdb.sql
mysqldump / mysqlsh dump instancemysqlpump は MySQL 8.0.34 で非推奨。MySQL 8.4 では mysqldump または MySQL Shell の dump instance / dump schemas を使う。mysqldump --single-transaction --routines --triggers appdb > appdb.sql mysqlsh -- util dumpInstance /backup/mysql-dump
xtrabackup backupPercona XtraBackup で物理バックアップする。xtrabackup --backup --target-dir=/backup/mysql-20260514 --user=backup --password=secret
xtrabackup prepare物理バックアップをリカバリ可能にする。xtrabackup --prepare --target-dir=/backup/mysql-20260514
binary log enableバイナリログの主要設定。server_id=1 log_bin=mysql-bin binlog_format=ROW gtid_mode=ON enforce_gtid_consistency=ON
CHANGE REPLICATION SOURCE TOGTID レプリカの接続先を設定する。CHANGE REPLICATION SOURCE TO SOURCE_HOST='primary.example.com', SOURCE_USER='repl', SOURCE_PASSWORD='secret', SOURCE_AUTO_POSITION=1;
START REPLICAレプリケーションを開始する。START REPLICA;
SHOW REPLICA STATUSレプリカ状態と遅延を確認する。SHOW REPLICA STATUS\G
binlog_formatstatement/row/mixed の設定を確認する。SHOW VARIABLES LIKE 'binlog_format';
SHOW PROCESSLIST実行中セッションを確認する。SHOW FULL PROCESSLIST;
KILL QUERY問題クエリを停止する。KILL QUERY 12345;
Performance Schema waits待機イベントを確認する。SELECT EVENT_NAME, COUNT_STAR, SUM_TIMER_WAIT FROM performance_schema.events_waits_summary_global_by_event_name ORDER BY SUM_TIMER_WAIT DESC LIMIT 10;
information_schema tablesテーブル容量を確認する。SELECT table_schema, table_name, ROUND((data_length+index_length)/1024/1024) mb FROM information_schema.tables ORDER BY mb DESC LIMIT 20;
innodb_buffer_pool_sizeInnoDB バッファプール設定を確認する。SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW ENGINE INNODB STATUSロックやデッドロック情報を確認する。SHOW ENGINE INNODB STATUS\G
MariaDB Galera statusGalera Cluster の状態を確認する。SHOW STATUS LIKE 'wsrep_cluster%';
MariaDB Aria engineAria テーブルを作成する。CREATE TABLE cache_kv (k VARCHAR(191) PRIMARY KEY, v BLOB) ENGINE=Aria;
MariaDB ColumnStoreColumnStore テーブル例。CREATE TABLE metrics (ts DATETIME, host VARCHAR(64), value DOUBLE) ENGINE=Columnstore;
Related