by shigemk2

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

MySQL

MySQLのcreate userでポチポチ

MySQLのユーザー追加が覚えきらない。 CREATE USER '{username}'@"{from_domain(ip)}" IDENTIFIED BY "{password}"; ユーザーを追加しようとするとOperation CREATE USER failed forってなる。 REVOKE ALL PRIVILEGES, GRANT OPTION FROM '{username}'@'{fro…

docker-composerとMySQL、雑多メモ

メモです。 qiita.com docs.docker.com yosugi.hatenablog.jp stackoverflow.com github.com

docker-composeとMySQL

@mapk0y ありがとうございます。意図したとおりに動きました。キーワードはdocker-entrypoint-initdb.dでした。— shigemk2 (@shigemk2) 2016年3月18日 ポイントは、docker-entrypoint-initdb.dに.shや.sqlファイルを置くと、コンテナが出来上がった後にそれ…

MySQL インデックス メモ

MySQL :: MySQL 5.6 リファレンスマニュアル :: 8.3.1 MySQL のインデックスの使用の仕組み MySQL :: MySQL 5.5 Reference Manual :: 8.3.8 Comparison of B-Tree and Hash Indexes B-treeインデックスとHashインデックスだけ覚えておくのです。

MySQL replace

コメントに書いてあるのだけれど。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.8 REPLACE 構文 qiita.com UPDATE wp_posts SET post_content = REPLACE(post_content, 'olddomain.com', 'newdomain.com'); ココで使われているREPLACEがREPLACE構文…

Table 'performance_schema.session_variables' doesn't exist

stackoverflow.com こんなエラーに見舞われた Table 'performance_schema.session_variables' doesn't exist MySQL 5.7.10 MacOSX Yosemite mysql_upgrade -u root -p --force MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.4.7 mysql_upgrade — MySQL テ…

MySQLのgrantとかで思い出すこと

stackoverflow.com アクセスする側のドメインでアクセスを制御したりできる。 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%.example.com' IDENTIFIED BY 'some_characters' WITH GRANT OPTION; FLUSH PRIVILEGES; stackoverflow.com The percent sign means al…

The server quit without updating PID file メモ

easyramble.com いろいろ原因があるけど、僕の場合は、複数のMySQLを入れていたのが原因だったと認識しています。(homebrewと後忘れました) とりあえず、MySQLのプロセスをkillしてたら、起動できました。

KVSのTTLについて

stackoverflow.com qiita.com KVSにはTTLという機能があり、その値よりも古いデータは自動的に削除してくれる。削除自体にはいろいろ気をつけないといけないポイントがあるらしいけども。 で、MySQLとかにはこのTTLの機能はデフォルトでは無いらしい。そうい…

論理削除は死亡フラグという話をメモる

メモるだけ。 blog.mogmet.com 変な名前の削除フラグを立てると「これなに?」ってなる でもdeleteよりは圧倒的に早い

郵便番号のデータをMySQLにぶっこむ 改

www.shigemk2.com 気づいたらCSVファイルがLZH圧縮からZIP圧縮に変わっていた。 $ wget http://www.post.japanpost.jp/zipcode/dl/kogaki/zip/ken_all.zip それだけ。あとは、nkfで文字コードをUTF-8にするとかLOAD DATA INFILEとかは変わらない。

MySQL パフォーマンスのやつ

O'Reilly Japan - 実践ハイパフォーマンスMySQL 第3版 もろもろ。

Got error 124 from storage engine

わりと巨大なマージテーブルのcreate table時に、インデックスを貼る 条件はこれだけ。具体的にはselect出来ない。countは出来たけど。テーブル作成時にインデックスを貼らなければ、この問題は起きないもよう。 なお、create table時にインデックスを貼らず…

MySQLの1168エラー

前もやった気がするんだけど。 ERROR 1168 (HY000): Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist マージテーブル絡みのエラー。 charset マージしたいテーブルが壊れている マージしたいテーブル…

MySQLの区切り文字

MySQLの区切り文字 ファイル出力だとinto outfileとか使えばいいんだけど、コマンドライン上でカンマ区切りとかにしたいときは、 sed s/\t/,/g などを使うと良い。というか、コマンドライン上でカンマ区切りにしたいとき、そういうオプションはmysqlにはない…

Got a packet bigger than 'max_allowed_packet' bytes

SQL実行でも起きるらしいけど、レプリケーションでも起きたりする。 SQL文が長いとか、SQL文でやりとりしようとしているデータの量が多いとか。 show variables like 'max_allowed_packet'; /etc/my.cnfのmax_allowed_packetの問題だったりするので、この値…

master.infoってなに

マスタからのバイナリログを読み込むためのスレッドの情報を保存したもの。 /var/lib/mysql/master.info に情報を保存 マスタに接続するために必要なアカウント情報も記録 MySQLレプリケーション備忘録 master.infoとrelay-log.info | Livingdeadの日記 | ス…

MySQLのbinlogを見たい

基本 $ mysqlbinlog mysql-bin.000100 > /tmp/statement.sql 時間指定 $ mysqlbinlog xxxxx-bin.003265 --start-datetime="2009-02-03 15:50:00" --stop-datetime="2009-02-03 16:00:00" > /tmp/3265_2.log mysqlbinlog: unknown variable 'default-characte…

MySQLでレプリケーションを絞る

5.7以前 レプリケーション対象を絞りたいとき - MySQL Casual Advent Calendar 2010 - MySQL Casual /etc/my.cnfでごにょごにょ。 5.7 以降 コマンドでごにょごにょ。 MySQL :: MySQL 5.7 Reference Manual :: 13.4.2.2 CHANGE REPLICATION FILTER Syntax

MySQLのレプリケーション遅延周りのリンク

show slave statusで確認 show slave statusのコマンドに従えばいいと思う。 MySQLレプリケーションの動作確認と不具合時の復旧方法 - 三十路エンジニアの備忘録+αd.hatena.ne.jp Seconds_Behind_Masterを確認したらいいと思う。0なら遅延なし。1以上なら遅…

show full processlist

実行中のプロセスの一覧を表示する - MySQL 逆引きリファレンス > show full processlist; 現在実行中のプロセス(実行SQLなど)を確認する。

ERROR 1248 (42000): Every derived table must have its own alias

FROMのあとの副問い合わせがUNION構文なときには、固有の名前を付けてあげないと駄目らしい。 『MySQLのUNION構文とかで試行錯誤したメモ』 MySQLのUNION構文とかで試行錯誤したメモ|“One-Code Blues” あと、create文でサブクエリを使うときもこのエラーが…

MySQLのチートシート リンク

SQLのチートシートって複雑っていうか、まとめづらいよね。select insert update drop create deleteだけまとめておけばいいのだろうかというと、流儀によって様々ですし MySQL/CheatSheet - Wikibooks, open books for an open world

条件つきでunionしたテーブルを新規作成する

最初は、 CREATE TABLE Aテーブル ENGINE=MERGE union = ( テーブル1, テーブル2, ..... ) みたいにしてやろうと思ったけど、unionしたいテーブルでwhere句で中身を指定したいときはどうしたらいいんだろう…ってなった。 で、アプローチを変えて、空のテーブ…

MySQLまわりで今日調べてみたこと

Oracleと同じようにJOIN出来るかどうか分からなかったので… 内部結合(INNER JOIN句) - データの取得 - MySQLの使い方 内部結合(INNER JOIN句) - データの取得 - MySQLの使い方 csvファイルをload fileしてデータを流し込む。 データを流し込むためにはテーブ…

今日のMySQL芸

MySQLで SQL をコマンドラインから直接実行する MySQLで SQL をコマンドラインから直接実行する - すがブロ MySQLで SQL をコマンドラインから直接実行する - すがブロ いい加減覚えようぜ… -eオプションが肝。 mysql -uユーザ名 -pパスワード DB名 -e'show …

ファイルのSQLを実行して結果をファイルに出力する

右から左へファイルの中身を受け流すイメージ。 Tips/ファイルに記述したSQL文の実行(MySQL) - Darksky::Website Tips/ファイルに記述したSQL文の実行(MySQL) - Darksky::Website $ mysql -u [user] -p[password] [database name] < hoge.sql > out.txt

server-idとレプリケーション

my.cnfに設定されてるserver-idについて。 全てのマスタ、スレーブの中で一意なserver-idを指定しなければならない。 現場指向のレプリケーション詳説 マスタに server-id を設定し忘れた場合、スレーブはマスタに接続できません。 スレーブに server-id を…

Read_Master_Log_PosとExec_Master_Log_Pos

MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.6.2.7 SHOW SLAVE STATUS 構文 現場指向のレプリケーション詳説 Read_Master_Log_Pos I/Oスレッドが読み込んだマスタのバイナリログの位置 Exec_Master_Log_Pos SQLスレッドが最後に実行したクエリの、マス…

datadir

データベースディレクトリのこと。 実際にデータを保存するディレクトリのこと。テーブルやログがこのディレクトリに保存される。 MySQL徹底入門 第3版 ~5.5新機能対応~新品価格¥3,758から(2014/6/24 09:59時点)