なからなLife

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

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

「詳解MySQL 5.7」はMySQL 5.6を使い続ける人も読むべき!

機能追加、機能進化の解説メインではあるけれど 詳解MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド (NEXT ONE)作者: 奥野幹也出版社/メーカー: 翔泳社発売日: 2016/08/26メディア: 大型本この商品を含むブログを見るはじめに、のところで 本…

MySQL WorkbenchでData Exportするとエラーになるのが直ってた

MySQL Workbench、便利だよね MySQL Workbench、色々な作業をGUIで操作できるので、MySQLベースで開発している人はかなりの確率で利用しているんじゃないかと思います。 標準的なSQLなら覚えている人でも、Export/Importユーティリティ系のコマンドまでは覚…

MySQLで、SQLレベルでCollationを指定する

Collation、色々な所で指定できる Oracle脳には馴染みの薄い、MySQLの「Collation」にまつわる挙動の話 - なからなLife MySQLのCollationはどのように決まるか。そして、3つの落とし穴。 - なからなLife と、立て続けにMySQLのCollationの話をしています。 …

MySQLのCollationはどのように決まるか。そして、3つの落とし穴。

今回は、設定値(パラメータ)の話 Oracle脳には馴染みの薄い、MySQLの「Collation」にまつわる挙動の話atsuizo.hatenadiary.jp の続きです。 前回は、Collation設定についてMySQLのデフォルトで使用される「_general_ci」だと「大文字小文字を区別せず」と…

Oracle脳には馴染みの薄い、MySQLの「Collation」にまつわる挙動の話

Collationとは 直訳すると「照合」。 MySQL的には、「照合順序」と訳されます。 ただでさえ面倒くさい文字コードの問題ですが、データを保存する際の文字コードとは別に、データを照合するときの方法を指定することができます。 照合って何かっていうと、=…

スケジュール遅延は取り戻せない!

極論ではあるけれど ここまで断定的な悲観論は、あまり見かけないと思いますが、個人的には、かなり確信をもってこう考えています。 もちろん、「遅延をしっかりリカバリして当初の締め切りを守った!」という意見・経験ものはあると思います。 ただし、そう…

ORDER BYで、単純な昇順降順「以外」で並べる!

いやー、知らないって怖いね。 なんだこのキモいSQLは、って思ってしまったけど、調べているウチに、これちゃんとSQL構文に則ってる!こちらが間違ってた!って事がわかっていきました。 あえて、知らなかった所から勢いで書いていたのを、そのままにしてみ…

RDSのフェイルオーバーとJDBCコネクションプーリングでハマった件

フェイルオーバー発生させたら、15分固まった。 Amazon RDS MySQL 5.6.23+Tomcat+JavaServlet+Connector/Jでコネクションプールを利用した環境で、RDSのフェイルオーバー試験をするべくManagement Consoleから「Reboot with Failover」を発生させたら、フ…