by shigemk2

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

MySQL

MySQL集約関数一覧

MySQL集約関数一覧 JSON操作系は5.7から やっぱり SUM(IF(x = 0, 1, 0)) みたいな書き方 日本語ドキュメントは5.6まで MySQL :: MySQL 8.0 Reference Manual :: 12.20.1 Aggregate (GROUP BY) Function Descriptions

MySQLのDATE_ADDとDATE_FORMATのくみあわせ

MySQLのDATE_ADDとDATE_FORMATのくみあわせ SELECT DATE_FORMAT(DATE_ADD(NOW(),INTERVAL -7 DAY), '%Y-%m-%d') MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数

MySQLでCASTが使える型一覧

MySQLでCASTが使える型一覧 BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL[(M[,D])] SIGNED [INTEGER] TIME UNSIGNED [INTEGER] MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.10 キャスト関数と演算子

MySQL Docker メモ

Environment Variables の項目を参照する。これの元ネタは、当然MySQLのリファレンスなわけど、↓に載っていないやつが使えるかどうかは分からない。max_allowed_packetなどちょっとした値をいじりたいときはdocker runで--max_allowed_packetを追加する Dock…

MySQL メーリス

メモ MySQL Lists

MySQL Sharding memo

データを複数のサーバに分散させること 水平分割 データを水平に分割するので、ホストAにはid 1-1000のレコードが、ホストBにはid 1001-2000のレコードが振り分けられている レプリケーションはデータの完全コピーなのでslaveはmasterと同等レベルのスペック…

ERROR 1396 (HY000): Operation CREATE USER

ERROR 1396 (HY000): Operation CREATE USER なんだろう。CREATE USERする前にGRANTを実行するとGRANTは通るしCREATE USERは出来ないしでうわっってなったけど、DELETE USERしたら大丈夫だった。

memo show processlist

memo show processlist どのスレッドが実行されているかを表示 state command time https://dev.mysql.com/doc/refman/5.6/ja/show-processlist.html

mysqldumpbackup progress

mysqldumpbackup progress mysqlbackupなら、--show-progressとかがつかえる pvコマンドでパイプするとか(試してない) https://dev.mysql.com/doc/mysql-enterprise-backup/3.11/ja/backup-progress-report-options.html

MySQL backup

論理バックアップ mysqldumpとかのコマンドでエクスポートする mysqldumpはシングルスレッド 物理バックアップ データベースのファイルを所定のディレクトリにコピーする rsyncとか RDSはSSHログイン出来ないのでこの方法は使えない XtraBackupも一部の方法…

memo TDE

memo TDE Transparent Data Encryptionの略。 保存データを暗号化する データはストレージに書き込まれる前に自動的に暗号化され、ストレージから読み込まれる時に自動的に復号化する 透過 RDSにおいては、TDEはOracle/SQL Server/MySQLなどに対応 透過的暗…

mysqldump create-options

mysqldump create-options MySQL 固有のテーブルオプションを CREATE TABLE ステートメントに含めます。 これをつけないとauto incrementとかがなくなってしまう。 https://dev.mysql.com/doc/refman/5.6/ja/mysqldump.html

mysqldump quick option

mysqldump quick option このオプションは大規模なテーブルのダンプに便利です。これは mysqldump に対して、テーブルのすべての行のセットを取得して、書き出す前にメモリーにバッファリングするのではなく、サーバーから 1 行ずつ行を取得することを強制し…

memo processlist

memo processlist show processlist; の代替。 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST

memo mysqldump

100GBのDBをリストアするのにかかる時間の目安はおおよそ2時間 nohupでバックグラウンドジョブとして実行したほうが良い リストアにsourceを使うとめっちゃ時間かかる gzするとバックアップが遅くなるかもしれない yakst.com

rds memo

rds memo 基本だけど。パラメータグループはDBのパラメータ設定で、オプショングループはDBの追加設定。チューニングが必要なのはパラメータグループの方。

Installing MySQL on Linux

Installing MySQL on Linux LinuxにMySQLをインストールする公式 プロトコルはhttps https://dev.mysql.com/doc/refman/5.5/en/linux-installation.html https://dev.mysql.com/doc/refman/5.5/en/linux-installation-native.html

MySQL source code

MySQL source code bazaarかと思ったらgitもいけるっぽい https://dev.mysql.com/doc/refman/5.6/ja/installing-development-tree.html

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

mysql 5.7.19 ubuntu 17.04 5.7でrootを空パスワードにすると、ログインできなくなるのは、認証のプラグインのデフォルトでauth_socketなるものを使っているから。 mysql_native_passwordに変更するといいらしく。 ネイティブのパスワードハッシュ化方式を使…

about foreign key

外部キーのドキュメント。 CONSTRAINTが肝で、外部キーの先で定義していないIDで外部キーのテーブルをつくれない https://dev.mysql.com/doc/refman/5.6/ja/create-table-foreign-keys.html

innodb_read_only

読み取り専用オプション read_onlyとの違いは謎。 nulab-inc.com MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.12 InnoDB の起動オプションおよびシステム変数

mysql_user_module ansible

AnsibleでMySQLのDBのユーザー管理/権限管理ができる。ことを知る。 mysql_user - Adds or removes a user from a MySQL database. — Ansible Documentation

ubuntu mysql

ubuntu 17.04 雑にmysql-serverをaptでインストールして、mysql -uroot してもだめで、sudoしないといけない askubuntu.com

MySQLのダンプファイルをRDSへインポートする

mysqldump -u <local_user> \ --databases <database_name> \ --single-transaction \ --compress \ --order-by-primary \ -p<local_password> | mysql -u <RDS_user> \ --port=<port_number> \ --host=<host_name> \ -p<RDS_password> mysqldumpからパイプして、RDSのホストにリストアをぶっこむ。mysqldumpで作ったダンプファイルをリダイレクトしてもい</rds_password></host_name></port_number></rds_user></local_password></database_name></local_user>…

Cannot import database - SUPER privileges required

MySQLのダンプファイルをRDSへリストアしようとするときに、SUPER権限が必要だよって言われる事案。 ビューテーブルのDEFINERを消すとうまくいく。 https://forums.aws.amazon.com/thread.jspa?messageID=279776

MySQLのサンプルデータ

MySQL :: Other MySQL Documentation ↑にあるとおもったら、dumpしかなくって不完全なので、GitHubのtest_dbを使うことにした。 ちゅーか、mysql -uroot < employees.sql せいっちゅーて、本家にemployees.sqlがないってどういうことなのでしょう。 github.c…

speed up select statement

あとでちゃんと読む。 MySQL :: MySQL 5.7 Reference Manual :: 9.2.1.1 Speed of SELECT Statements

今日のMySQL

すっごい久々。 blog.trippyboy.com 現在の日付・時刻を取得する - MySQL 逆引きリファレンス www.dbonline.jp

mysql/hiveなどのeオプション

--execute=statement の略

ビュー

SELECT文を使う時に条件を指定することで取得するカラムを絞ったり取得するデータの条件を指定することができますが、テーブルから一部を取り出したものに名前を付け、あたかも独立したテーブルにように扱うようにしたものがビューです。 Oracleだとよく見る…