memo

memo dayo.

mysql

ロックを解除する

show processlist; kill id;

mysqldumpで-pオプションをつけない

◆旧 /usr/bin/mysqldump -hdb_host -udb_user -pdb_pass db_name table_name > /tmp/table_name.stdout.sql 2> /tmp/table_name.stderr.txt → エラーが出力される場合もある Warning: Using a password on the command line interface can be insecure. ◆新 …

DBの論理使用量を調べる

SELECT ROUND(SUM(data_length)/1024/1024) AS mb FROM information_schema.tables WHERE table_schema = 'aaa' ;

auto_incrementの値を確認、変更する

SELECT auto_increment FROM information_schema.tables WHERE table_name = 'aaa' ; ALTER TABLE aaa AUTO_INCREMENT = 1 ;

テーブルを指定してdumpする

mysqldump -hhostname -uusername -ppassword dbname table1 table2 table3 > dump.sql 2> err.txt

文字コード変更

charset utf8;

viewの一覧を取得する

SELECT table_name FROM information_schema.tables WHERE table_type = 'VIEW';

日時とUNIXTIMEの相互変換

-- datetime to unixtimestamp SELECT UNIX_TIMESTAMP('2016-12-31 23:59:59'); -- unixtimestamp to datetime SELECT FROM_UNIXTIME(1483196399);

照合順序と文字コードを指定してデータベースを作成する

CREATE DATABASE d_name CHARACTER SET utf8mb4 COLLATE utf8mb4_bin ;

ランダムな整数を取得する

SET @nummin:=1; SET @nummax:=999999999999999999; SELECT LPAD( FLOOR( @nummin + (RAND() * (1 + @nummax)) ) ,CHAR_LENGTH( CAST( @nummax AS CHAR ) ) ,'0' ) AS rand_num ;

mysqlユーザの削除

SELECT user, host FROM mysql.user; DROP USER 'aaa'@'localhost';

カレントタイムスタンプをYmdHisの数値型に変換する

SELECT CAST(NOW() AS UNSIGNED);

innodbの状態を表示する

SHOW INNODB STATUS\G

クエリー実行結果をファイル出力する

SELECT bbb_id INTO OUTFILE 'c:/bbb_isnotnull_list.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' FROM v_tmp WHERE bbb_id IS NOT NULL ;

ビューを作成する

CREATE VIEW v_tmp AS SELECT t_aaa.id AS aaa_id ,t_bbb.id AS bbb_id FROM t_aaa LEFT JOIN t_bbb ON t_aaa.id = t_bbb.id ;

インデックス名を取得する

SELECT * FROM information_schema.statistics ;

テーブルを最適化する

ALTER TABLE 【テーブル名】 ENGINE = 【エンジン】; ANALYZE TABLE 【テーブル名】; MySQL :: MySQL 5.1 リファレンスマニュアル (オンラインヘルプ) :: 8.1.7 ALTER TABLE 構文 ALTER TABLE ステートメントのあとに、インデックスカーディナリティー情報を…

テーブル名を取得する

SELECT table_name, engine FROM information_schema.tables ORDER BY table_name ASC ;

スキーマ名(データベース名)を取得する

SELECT schema_name FROM information_schema.schemata ORDER BY schema_name ASC ;

mysqlの状態を確認する

SHOW status; SHOW variables;

Indexを使わないSlow Queryを出力する

SET GLOBAL slow_query_log = 1; SET GLOBAL long_query_time = 5; SET GLOBAL log_queries_not_using_indexes = 1; SET GLOBAL slow_query_log_file = '/log_file_path/slow.log';

DBユーザ作成(mysql)

※以下の様に読み替えてください。 aaaaaa: root passwd bbbbbb: dbuser name cccccc: dbuser passwd dddddd: database name eeeeee: table name 【rootのパスワード設定】 ■rootユーザでログイン(パスワードなし) /usr/local/mysql/bin/mysql -hlocalhost …