Database JUNKY

MySQL,MariaDBを中心としたブログです

トイレの水が出ない!!修理の方法など SH381BA編

トイレの修理はお早めに! TOTOのトイレ(SH381BA)の修理します。はい!全然、技術系の話でもデータベースの話でもありません! 結果からいいますと、トイレの水が出なくなりました厳密にいうと、タンク内部で水漏れしている気が・・する・・ 幸いにも、自…

MySQL8 SQL Window関数とCTE表でデータクレンジングと名寄せを実現する

とあるデータのクレンジング、名寄せ作業をSQLだけで完結する上で、よくわからなくなってしまったので、メモします。 例えば、こんな定義とデータがあったとして。 定義 CREATE TABLE `artist_master` ( `Id` bigint(20) unsigned NOT NULL, `CreatedAt` dat…

MySQL LIKE JOIN というアウトローなクエリーを試してみる

こんなの不可能だろと思いつつやってみたら以外と出来たというクエリーについて紹介します。 JOIN のON句にLIKEを使うというだけなのですが、これが以外と使える場面があります。今回、音楽のアーティスト名周りでこの難解なSQLをどのように活用するかを考え…

プログラムは3日で忘れる私が再びpython3メモ pymysql

プログラムはちょっとやらないと忘れる。 数ヶ月前にやったはずなのに、いざ再開すると、同じところでつまづく。今回は MySQL接続で利用するpymysqlでのメモをします。エラートラップとか例外とかは、書いてません。ちゃんとかける方はこのページなんかみな…

python3 ディクショナリ型の要素アクセスで、階層がある要素のkeyerrorを回避する方法

例えば、下記のようなネスト(階層)があるディクショナリ型の一部要素を参照しようとしていたのですが (略) "datePublished": "2018-10-11", "byArtist": { "@type": "MusicGroup", "url": "https://yyyyy.zzzzzz/us/artist/abcdefg-gambino/466842536", "…

route53 ドメイン移管とDNS変更は意味違うよって話(お名前comから、route53にDNS変更をする)

たまにしかやらない DNS変更作業、いざやろうとすると、あれ?どうするんだっけ?ってなりませんか?少なくとも私はそうなりました。 今回、お名前comでドメインを登録したのですが、DNSは、aws route53のほうが管理しやすいので、切り替えようと考えました…

いまさらだけど、ltsvが超便利!

はじめltsvってapacheのモジュールかと思ってましたら・・そうじゃなくって、単純にLogFormatをラベル付きのログを出力する形式ってだけなんです。 でも、また、これが便利、たとえば、access.log等は、標準ではラベルが入っていないため、大量にある場合、…

MySQL HyperDB + Keepalivedを利用した、wordpress の負荷分散

当記事、2012年に書いた記事になりますので、hyperdbがあるかないのかもわかりませんが、当方で活用する案件が発生しましたので、再アップしました。 思っていたより簡単にできた、そして結果からいいますと、思っていたよりパフォーマンスがよく無かった記…

MySQLでいいね!(LIKE)機能のDB設計をしてみた!

いいねってなに? FACEBOOKですと、いいね、 Twitterだと♥のあれです。エンゲージメント率を高めるばかりではなく、記事の拡散にも効果を発揮しますよね。また、サービス運営者視点で話すと、話題が見つけやすくなりますよね。 ってなわけで、今度はいいね。…

mysql 文字列結合のconcat関数は||(パイプ)でスマートに書こう!

MySQLおよび、MariaDBでの文字列結合関数といえばCONCAT(コンキャット)です。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.5 文字列関数 文字列結合にいちいちconcatなんていう関数を使うのはめんどくさい、且つわけがわからなくなるので、パイプ(||…

MySQL SQLとbashヒアドキュメントをうまく使いこなそう!!

MySQLとヒアドキュメントをうまく使いこなされば、さくっとSQLをファイルを作ることができます。はじめは戸惑いますが慣れれば簡単です。数百回はやったかも(^^;) ヒアドキュメント(heredocument)自体は、MySQLとはまったく関係のない話、そもそもbash…

ec2 rootから特定のユーザーに成り代わってシェルやコマンドを実行する(runuser)

意外と知らなかったです。 root以外のアカウントから、rootに成り代わって実行はいくつかあるんですが、 rootからroot以外のアカウントに成り代わって実行する方法ってどうするんだろう?って 例えばこんなケースです [root@]# aws ec2 describe-instance-st…

MySQL 結局、索引の最大長っていくつなの?を考える Specified key was too long; max key length is 3072 bytes

MySQL8.0の話ですので、以前のバージョンの話とはちょっと変わってしまうかもしれませんが、テーブルの作成で、ものすごくしょうもないことでハマってしまいました。 ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes まず、…

aws s3の利用料節約を考える:データ転送量を減らす!

awsにて、動画共有サイト、画像共有サイトでもそうだと思いますが、ec2インスタンスのコストよりかかるのが、ずばり!転送料です。一部のサービスでは、ec2のインスタンスコストよりデータ転送料金のほうがコストがかかっているという話をよく聞きます たと…

MySQL パーティショニングで高速クエリーを実現!!

MySQL(MariaDB)には、レンジパーティションってものがありまして、うーなんでしょ?ある規則にしがったデータをおのおののデータファイルに振り分けてくれるストレージエンジン的なものです。 データ領域が分割されるため、大量のデータを処理することによる…

MySQL 変数を利用したSQLの記述方法

ソニー SONY ワイヤレスヘッドホン WH-CH510 : bluetooth / AAC対応 / 最大35時間連続再生 2019年モデル ブルー WH-CH510 L出版社/メーカー: ソニー(SONY)発売日: 2019/10/05メディア: エレクトロニクス 他のDBはよくしらないですが、MySQL系のSQLをSQL文中…

これはすごい!mariadb10 でマルチソースレプリケーションでデータベース統合!

MariaDBでマルチソースレプリケーション 私的に待ちに待ったあの機能が追加されました。それは、マルチデータソースレプリケーション、mariadb10.0から実装されるという話は知っておりましたが、ようやく触る機会がきたので試してみようと思います。 余談で…

aws ec2インスタンス起動時に、自作shellを自動実行する方法

あ、別にawsでなくてもいいのですが、そしてshellでなくても良いのですがw よくあるかどうかまではわかりませんが、アプリケーションを手動で起動して待機させる系統のものって、インスタンスを再起動さける時に、あら。動いてない。。。なんてことがありま…

aws cliコマンドをマスターしてブラウザいらずになろう!

いまさら感はありますが、AWSコンソールは便利ですが。。数が増えると、にっちもさっちもいかなくなるので、コマンドで実行する方法を備忘録代わりにメモします。 ec2インスタンスを停止する、主な理由って私的には、インスタンスタイプの変更をすることで、…

bashで選択メニューを出す(入力プロンプト)

よく、コンソールで何か実行する時に、(y/n)とかあるじゃないですか?あれがかっこよくてどうやるのか調べてみました 結果から先にいいますと、read というコマンドを使うっぽいです -pのオプションを付けると、プロンプトのメッセージを自由に設定すること…

MySQL8.0 : 新しく追加されたJSON関数サンプル

無事、システムもMySQL 8.0化が成功し、じゃあ今後、どう活用していこうと考えた時に、まずやったのが、WITH句なんですが、 hit.hateblo.jp 他にもいっぱい機能がアップされた部分があって、その中で、今回JSONで追加された関数を主に試してみました。 今回…

ec2 t3インスタンスでコストを大幅に下げましょう!

ec2でこっそりt3インスタンスでリリースされていました汗 全てではないかと思うのですが、tXXの数値が上がるたびに基本的には、なにかしらの機能アップと、コストのダウンが期待できます。昔のインスタンスのままじゃないと動かないから。。。ってシステムは…

NagiosのアラートをLINEに即座に通知&スマートウオッチ連動する方法

nagiosのアラートをlineに通知する方法をまとめました。インフラの設計、および運用管理をしていると、かならず発生するのが、システム障害です。その障害は、寝ている時であろうと、ごはんを食べている時であろうと、はたまた休日であっても発生します。イ…

AWS ELB だけでwwwあり・なしを統合!そして全てhttpsに統一する方法を教えます!

nginxでのの方法については、わかったのですが、ELBを挟んだ場合は、どこでどのような設定をする必要があるのか、、頭がごちゃごちゃになりハマったのでここで整理します やりたいことは、以下の通り http://www.test-test-abc/ → https://www.test-test-abc…

iPad+ハードウェアキーボード仕事で使えるか検証!

ipadでインフラ作業(コンソール作業)がしたかったため、とうとう外付けキーボードを購入してしまいました。 まあ、毎年 ①タブレット購入:ノートPCを持ち歩くのではなく、タブレットをもちあるきたい(軽量化) ↓ ②外付けキーボード購入:キーボードがない…

MySQL なければINSERT、あればスキップ(IGNORE〜)のおすすめ

かなり前に、なければINSERT、あればUPDATEというの書きました。 hit.hateblo.jp しかしながら、現状で運用でもっとも活躍できるのは、IGNOREの方だと思います どのようなケースで活用できるついて、サンプルを含め説明します プライマリーキーを更新 以下の…

MySQL8.0 新機能 WITH句、共通テーブル式(CTE)のSQLの書き方教えます!

MySQL8.0にするなら、WITH句で!共通テーブル式を使いましょう! MySQL8.0を使いたい理由は、CTEに対応したからなんです!! そもそも、MySQL 8.0を使いたかった理由って、共通テーブル式が実装されてからなんです! 私自身は、 IBM DB2でかなりお世話になり…

MySQL8 インビジブルインデックス(INVISIBLE INDEX)の勧め

その索引使われていますか? MySQLで長年運用しているうちに、パフォーマンスチューニングが必要になって、ほとんどが、チューニング効果の高い、索引チューニング(インデックスチューニング)をしていきますよね。そんでインデックスをぺたぺた張っている…

MySQLでの文字列の日付から日付形式に変換する方法(STR_TO_DATE)

毎回忘れる、MYSQLの文字列->日付変換についてメモしました。例えば、rssのフィード内によくある、publishedとかとか。。これを日付/時刻型に変換するにはどうすればいいか?なんていうのを例につらずらと書いていきます。 <pubDate>Sun, 29 Jul 2018 21:00:00 +0900</pubDate>

python3関連インストールもろもろメモ

あくまでも自分だけのメモですが、これだけは、いや、あくまでも私的な話ですが必須だろうと思うものしか書いてません。 今後他にも色々出てきそうですが、その時はその時で随時追記していくつもりです。 OSは、CENTOS 6x をベースに記載しましたが、まあ、U…