なからなLife

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

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」を発生させたら、フ…

MySQLでPerformance_Schemaから過去に実行したSQLを把握する

MySQLに、OracleのSTATSPACK的なもの、ないの?というアレ。 Oracle文化が根強いSIerと一緒にMySQL案件に関わると質問される5つのこと - なからなLifeで触れた、アレのお話です。 「STATSPACK」に例えられる要件にもレベルがあって、私が質問を受ける文脈と…

MySQLでのNull、空文字、関連する関数など

先人はいるけれど、調べてみた。 比較演算子については、こちらにまとまってますね。 d.hatena.ne.jp 公式ドキュメントでは いきなり、ちょっとキツ目の表現でスタートします。 NULL 値の概念については、NULL が空の文字列 '' と同じであると考えがちな SQL…

Oracle文化が根強いSIerと一緒にMySQL案件に関わると質問される5つのこと

タイトル通りですが、とりあえず列挙 STATSPACK的なもの、ないの? ありません。 価格差考えてください。 TuningPack的なもの、ないの? (ry 過去に実行したSQL、誰がいつ実行したか追えないの? いわゆる監査ログってやつ。 無料でやりたいなら、generar…

MySQLの「ALTER TABLE ADD INDEX」と「CREATE INDEX」

ALTER権限とALTER TABLEの検証作業の中で。。。 atsuizo.hatenadiary.jp ここで、ALTERしか付与してないのに、INDEXのADD/DROPが成功してたことが、どうにも引っかかってまして。 公式ドキュメント上は。。。 表 13.1 GRANT および REVOKE に対して許容可能…

MySQLの「ALTER TABLE RENAME」と「RENAME TABLE」

RENAME TABLEなんてコマンド、知らなかったよ。。。 テーブル名の変更といえば、「ALTER TABLE old_table_name RENAME TO new_table_name」だと思っていたOracle厨でしたが、MySQLの案件に絡んでいたら「RENAME TABLE old_table_name TO new_table_name」な…

MySQLで、「ALTER権限だけ」でできることは何か?(2/2)

おさらい 前のエントリでは「ALTER権限だけ」でできることをひたすら確認してきました。 こちらのエントリで検証する「パーティション操作以外」でいうと、「RENAME」以外のALTER TABLE操作は全部できる!という状況でした。 では、続きまして、パーティショ…

MySQLで、「ALTER権限だけ」でできることは何か?(1/2)

テーブルのRENAMEができない!と言われたことが発端で。。。 ALTERは与えてあるけど、ALTER TABLEの中には、他の権限を持ってないとできないことも混在してまして、このRENAMEも、裏でDROP&CREATEしているらしく、ALTERだけではできない操作の1つでした。 …

MySQLのgeneral_log出力のパフォーマンス影響を調べてみた

きっかけ みんなで使っているMySQL上のデータを誰かが削除して、犯人探しをしたい、という話から。 別エントリでMySQLのログの種類と監査の手段について触れるけど、Community版だと基本的にgeneral_logを使うしか、後追いで誰が何したかを追いかける方法っ…

亡き父の四十九日法要が無事に終わって

少し落ち着いてきました。ブログも少しずつ再開させようかなと思います。 父のいない実家で、母と話をしているときも、父はただ入院しているだけでまだ生きているかのような、いつでも会えるかのような感覚が抜け切れません。 納棺、葬儀、火葬、その瞬間瞬…

タブ切り替えのショートカット

Excelは、Ctrl+PageUp/PageDown。 IEは、Ctrl+Tab/Ctrl+Shift+Tab。 FireFox、Chromeは、上記どちらでも可。 自分は、ExcelとChromeの利用頻度が高いという流れから「Ctrl+PageUp/PageDown」派。 めったに使わないIE使うときに気持ち悪くて仕方がない。。。 …

topコマンドからログファイルを出力させるために、sedとawkをかじる

topの概要 語り尽くされてますし、manにもすごく丁寧に説明がありますので、見た目だけ。 top - 10:12:59 up 42 min, 3 users, load average: 0.00, 0.01, 0.05 Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie Cpu(s): 0.6%us, 0.4%sy, 0.…

innodb_log_file_sizeの適正値の目安

1時間に1回チェックポイントが発生する程度。 それってoraどこかで聞いたような。 こうやって算出する mysqlのコマンド「SHOW ENGINE INNODB STATUS」の「Log sequence number」か、「SHOW GLOBAL STATUS」の「Innodb_os_log_written」を1分間隔で取得し、そ…

RDS-MySQLでデフォルト作成される「innodb」スキーマって何よ?

RDS-MySQL5.6.23のお話です。他のバージョンは見てません。 インストール直後のデータベース一覧 ローカルに作った場合 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performanc…

MySQLの「ALL権限」のレベル

なにがどう違うの! GRANT ALL PRIVILEGES ON *.* TO 'ユーザ'@'%'; GRANT ALL PRIVILEGES ON `%`.* TO 'ユーザ'@'%'; 前者は「グローバル権限」、後者は「データベース権限、ただし、全データベース」。権限のスコープレベルをデータベースレベルに落として…

RDS MySQL5.6にSYSスキーマを組み込もうとして失敗する件

日本語情報、ぜんぜんないのね。 ていうか、MySQLのSYSスキーマ自体がそんなに普及していないのかな。 SYSスキーマは、パフォーマンスを見る上で重要なPerformance_Schemaの情報を見やすくしてくれるViewのセット。 ソースとセットアップ手順は、以下のURLの…

AWSのサービス・料金一覧の取得方法

ていうか、一応本家サイト(英語)にガイドあるのな http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html 超訳)>「2ステップに分けてURL叩いてね」 手順1:indexを取得する 以下URLで直接ダウンロード可能。us-east-1でしか…

インタホンの音が聞こえなかった件、からの、便利なアイテム

ヘッドホンしてました、すみません 自宅ではYoutube等を見るのにいつもヘッドホンしてます。 家族に迷惑がかからないように、隣近所に迷惑がかからないように、っていうのと、PC/モニタ付属のスピーカーがしょぼいってのが理由。で、一人で家にいる時に、宅…

MySQLの権限と付与状況の「見え方」

グローバル権限、データベース権限、テーブル権限など Oracleではシステム権限とオブジェクト権限(と、SYSDBAなどの特殊権限)に別れるように、MySQLも権限のレベルがあります。Oracleでいうところのシステム権限は、MySQLでグローバル権限、とおぼえてほぼ…

MySQLのサーバーパラメータ

MySQLのパラメータの指定方法は色々ある。 ということで、結構な頻度で調べることになるんだけど、毎回迷うから、ここに記録しておきます。 ちょっと設定変えて挙動を見たい時に、動的変更可能な変数なら set [global] variable パラメータ名=設定値; でいい…

OracleJDKはyumで管理できないって?さあどうする。

2つのJDK しばらく開発界隈、Java界隈から離れていたら、いつの間にかSun/OracleJDKとOpenJDKという二大政党制みたいな状態になっていて、しかもLinuxはデフォでOpenJDKをいれてるじゃありませんか。で、たまたまLinuxでJava使う話があって、実験機として構…

「Oracleよ、私は帰ってきた!」と思ったら、人繰りの関係でOracleじゃないDB扱う案件に移った件。

もう何度か書いていますが、受託開発の世界から事業会社に移って商品企画、経営企画、一人情シスと転々とした後、まさかの受託業界戻り、まさかのOracle界隈復帰という流れで、転職後数ヶ月は粛々とOracleをいじっていたわけです。 最後に触ったOracle 9i/10…

新年あけまして

昨年は あんまり振り返る時間がない中でエントリ書いてるので、手短な振り返りとなりますが、一言でいうと「厄年かっ」っていう1年でした。(本厄は来年です) なかなか厳しいイベントもありましたが、悪いことばかりでもなく、明けない夜はない、止まない雨…

再び転職活動記(6ヶ月ぶり5回目)

ワリと細かい記録を残したあのエントリの後 http://atsuizo.hatenadiary.jp/entry/2014/01/16/1025411年足らずで諸事情あって転職、その時は一本釣り(釣られ)で移籍したんですが、非常に残念な事情により、在籍半年にしてまさかの再転職活動を強いられる…

ポジティブ教でもなく、アンチ・ポジティブ教でもなく、ただ認めること

世の中にはポジティブ教が溢れてる 見ていて痛々しいほどにポジティブを全面に押し出している本、ネット記事、いろいろありますよね。自己啓発にくくられる書物は9割型こちらですし、「意識高い系」とdisられるのもこの系統。個別に例を出したらキリがない。…