なからなLife

geekに憧れと敬意を抱きながら、SE、ITコンサル、商品企画、事業企画、管理会計、総務・情シス、再び受託でDB屋さんと流浪する人のブログです。

LANケーブルのツメ折れ対策品も意外と役立つ件

だいぶ前に上げたエントリの影響で、LAN関係のお買い上げがボチボチ観測される弊ブログです。 atsuizo.hatenadiary.jpエントリ自体が3年前ってのが驚きですが、この零細ブログでも今も月に数個はお買上げ頂いている模様。 詳しく調べてないけれど、金額では…

JavaのOutOfMemoryErrorを追いかけてみた

だいたいのことは、ネットに書いてある Java自体、すでに歴史ある技術ですし、今回のOutOfMemoryErrorも、その解析方法も確立されているようで、ネットでかなりの情報が手に入り、10年くらい前、Java1.4の案件でちょっとコード書いた程度にしかJavaと接点の…

RDSのStopからの復旧ログが不思議

AWS

RDSの「stop」がサポートされました。 AWS Relational Database Service(以下RDS)は、いわゆるDatabase as a serviceで、EC2とは違い、インスタンスのStop/Startが出来ず、停止・起動に相当するのはTerminate(最終スナップショットを取得して、インスタン…

MySQLでmetadata lockにハマりやすいパターン

しばらくブログエントリあげてませんでしたが、引き続きMySQL関係のお仕事していたので、復活弾もやっぱりMySQLネタです。 そもそも 「metadata lockって何よ?」 とか 「Waiting for Table metadata lockでハマったらどうしたら良いの?」 って話は、過去に…

人に仕事を依頼する立場に立ったら

自分でやった場合の手順を想像する そのとき、必要になる情報、前提条件、完了条件が何かはっきりさせる。 どれくらいの時間が掛かりそうか見積もる。 これを疎かにすると 依頼の際に被依頼人との調整に必要以上に時間がかかる 被依頼人の作業が滞る 被依頼…

MySQLのセッションタイムアウトの制御

timeout系パラメータはいくつかあるけれど 新規接続時のタイムアウト(connect_timeout)ではなく、一度確立した接続がタイムアウトで切断される現象に影響するタイムアウト設定のお話。 ERROR 2013 (HY000): Lost connection to MySQL server during query…

MySQLの文字列型の扱い

先日、この記事が公開されていたので gihyo.jp アレ?って思ってドキュメント見直して、手元の環境でも実行してみました。 確かに「その通り」だったのだけど、ドキュメントに書いてあるとおりのこと、かつ、「その一部」の話だなーとおもったので、もうちょ…

ノートPCと愛称の良い「USBハブ+優先LANアダプタ」

ノートPCの薄型化の影響で 有線LANポートが無い機種、増えてますよね。クラムシェル、2-in-1の折りたたみタイプ、セパレートタイプなど、薄さを追求するデザインを求める傾向に拍車がかかっています。MacBookみたいに「USB TypeC」だけ、みたいな尖ったヤツ…

MySQLでキャラクタセットを変更する

キャラクタセットはカラムレベルで持っている Oracleの場合はデータベースレベルで持っているキャラクタセット定義ですが、MySQLの場合、キャラクタセットはカラムレベルで持っています。ですので、同じデータベース、テーブルの中で、カラムによって別々の…

MySQLで幸せになれるヤツの続き-CloudWatchLogsを入れるとき、時々トラブる

AWS

atsuizo.hatenadiary.jp この絡みで、AWS EC2に後からCloudWatchLogsを入れると時々トラブるので、その解消法。 今回はMySQL一切出てきません。 普通に進めれば、以下手順でデフォルト設定終わるはず、なんだけど。 docs.aws.amazon.com に書いてあるんです…

MySQLで幸せになれるヤツの続き-列名の行は都度いらなくない?

atsuizo.hatenadiary.jp で挙げたワンライナーを見て、タイトルのような疑問を持った人もいるかと思いますので、そのへんの補足です。 お好みでどうぞ 「-N」オプションを付与すると、SQL実行毎に表示される列名の行を除外して出力させることができます。 な…

MySQLで幸せになれるヤツの続き-パスワードを隠蔽する方法

パスワードをゴニョゴニョする前に atsuizo.hatenadiary.jpで パスワードを生テキストで書くなって人はゴニョゴニョしてください。 って書いた話の件ですが、なんでこんな話になるの、ってところをまず押さえましょう。 mysqlクライアントでのログイン方法あ…

MySQLに対して定期的に実行して結果を保存しておくと幸せになれるアレ

ワンライナー mysql -u ユーザ -pパスワード -h 接続先 -e "SQL文" | sed -e 's/\t/\" \"/g' | sed -e 's/^/\"/g' | sed -e 's/$/\"/g' | sed -e "s/^/$(date '+%Y%m%d %H:%M:%S') /g" >> ファイル パスワードを生テキストで書くなって人はゴニョゴニョして…

「AWS 認定ソリューションアーキテクト - アソシエイト」合格した

どんな試験 すでにたくさんの方が受験し、レポっているので、今更感たっぷりですが。 AWS 認定ソリューションアーキテクト ? アソシエイト試験は、AWS プラットフォームでの分散アプリケーションとシステムの設計経験がある個人を対象としています。この試験…

Kindleよりも紙で読む方が向いてる本

Kindle版、便利だよね 先日、ダンボールにして10箱、300冊近い蔵書を処分したのを機に、なるべく電子書籍、なるべくKindle版で購入しようと思い始めています。 保管場所の問題が最大の理由ですが、処分する際の中古引取価格を見て、「Kindle版と紙版の価格差…

Dell Inspiron 11 3000(3162)エントリープラスを買いました(到着後)

到着後、と言いつつ、到着までの話から。 納期の件 BTOなので、発注後に海外工場で組立工程に入り、運送フェーズに入ったところで到着予定日が見えるシステム。 最初に表示されたのが、発注日+7日。 お、MyNA間に合うじゃん、ってウキウキしてたら、船便が…

Dell Inspiron 11 3000(3162)エントリープラスを買いました(検討~購入編)

こんなPCです。 Dell ノートパソコン Inspiron 11 Pentiumモデル ホワイト 17Q12W/Windows10/11.6インチ/4GB/128GB出版社/メーカー: Dell Computers発売日: 2016/02/19メディア: Personal Computersこの商品を含むブログを見る 液晶:11.6インチ WXGA (1366x…

新年あけまして2017

仕事始めということで、年頭所感を残しておきたいと思います。 2016年初のエントリもかなり手短なエントリでしたが、今年も手短に。 昨年は プライベートの方は、身内の不幸が立て続けに起こってなかなか大変な前厄でした。 仕事の方は、昨年の転職以来、ほ…

お兄さんとの約束は守ろう!(MySQLのtx_isolationとbinlogの話)

MySQL Casual Advent Calendar 2016 - Qiita 21日目の記事です。 穴があったら埋めたいタイプの人です。5回目。。。 なお、大トリの25日が空いているみたいですが、3年連続であの方でしょうか?(・_|襖| ある日、MySQLおじさんお兄さんに、、、 って言われた…

MySQLのChar型のデータサイズについて小ネタ

MySQL Casual Advent Calendar 2016 - Qiita の 18日目です。がんばった。もう小ネタしか出てこない。 MySQLのchar型宣言時の数字は「データサイズ」ではなくて、「文字数」 っていうのは、ワリと有名。 Oracleからやってくると戸惑うところではあるけど、ワ…

JOIN ON で絞り込み条件を入れるのと、JOIN ONの後WHERE句で絞り込み条件を入れるのとでは、結果が違う件

MySQL Casual Advent Calendar 2016 - Qiita 12日目の記事です。 まさかの3回目。もうムリ。。。 JOIN ON句で結合条件ではなく絞込条件を書くことができることを、知らなかったのです。 具体的な名称がわからない&検索にもヒットしにくいので、勝手に名前を…

SQLを繰り返し実行したら段階的に応答速度が上がった話

MySQL Casual Advent Calendar 2016 - Qiitaの6日目の記事です。 AdventCalendar自体初参加でドキドキ、してたら、成り行きで2日連続。 コレ用のきれいなエビデンス取れるような環境要していなかったので、普段より荒っぽいですが、Casualな感じで失礼します…

MySQLのトランザクション制御がキモい話

MySQL Casual Advent Calendar 2016 - Qiitaの5日目の記事です。AdventCalendar自体初参加でドキドキ。 トランザクションの開始は、BEGINしたときじゃない! MySQLでは、BEGIN(START TRANSACTION。長いので、以下、特筆すべき場合以外は「BEGIN」で)を宣言…

MySQLで複合列PKなテーブルに対するWHERE条件でINを使うと、実行計画が変わる?

何言っているかわかんねえよ。 と思うので、事例で語る。なお、この事象が出たのは、MySQL5.6.23です。 実験1:PK列が1つのケース 準備 こんな感じでテーブルとデータを用意します。 mysql > create table test_in_exp_tbl( -> col1 int(11) not null, -> co…

本を処分することになりました。

部屋を奪われる 小学生の子供が2人いて、小学校入学時には誤魔化して?学習机も子供部屋も与えずに、「リビング学習」済ませていましたが、いよいよ娘達に一部屋奪われる与え、2人分の机と2段ベッドをることになりました。 そのうち「勝手に入ってくんなオヤ…

MySQLで接続(use)しているDB(スキーマ)が、他セッションからDROPされたときって、どうなるんだっけ?

タイトルの通りなんですが USE文って、所詮デフォルトデータベースの宣言(データベース名無宣言でオブジェクト名を扱うときに、どこを指しているとみなすか)にすぎないと思っていて、「じゃあ、その状態で指している先がDROP DATABASEされたらどうなるんよ…

詳解MySQL5.7出版記念イベント参加してきた

久しぶりのイベント参加 この手のイベント参加、久々だなー。 この手のイベント参加レポ書くの、久々だなー。 イベント、勉強会の類は、勉強会ブームを経て、毎日色々な所で開催されるようになっているわけだけど、自分も参加してなかったし、観測範囲で見て…

MySQL5.6以前でmetadata lock発生の犯人を後追いする

大事な機構「metadata lock」 MySQL5.5.3から導入された「metadata lock」。 その目的は、 「トランザクション実行中に触ったテーブルについて、DDLによるテーブル構成情報の変更から守る」 ということ。 そうしないと、ロールバックしようとしたら「テーブ…

RDS MySQLで、パラメータグループ指定したCollationでデータベースが作られないバグを踏んだ件

公式ドキュメント通りに操作しても、その通りに作られません MySQLのCollationはどのように決まるか。そして、3つの落とし穴。 - なからなLifeの「3:Amazon RDSのデフォルトデータベースは、さらにルールを破る」のところで書いたとおりなんですが、大事な…

MySQLからDumpできないんだけど、っていう問い合わせ

闇雲にdumpなんかされてもこまるんだけどさ 「DBから勝手にデータ引っこ抜いて、どこへ売りに行くんだい?」っていう野暮なツッコミもしたくなるくらい、唐突に問い合わせを受けることがあります。 第一声では、「何(手段)でデータを取り出そうとしたか?…