アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

('ω') < まだ5月のくせにあっつい

MySQL

MySQLのバイナリログとフルバックアップから復旧させる方法

実現したいこと データベースがぶっ壊れても復旧できるようにしたい サーバーには4つのDBが入っているが、うち2つだけを対象にしたい ざっくり調べて理解したこと MySQLにはバイナリログを残す仕組みがある バイナリログは、トラブル時の復旧作業やレプリケ…

ざっくりSQL入門 #2:データベース設計<後編>

前編で書いたとおり、これやります。 後編ではこのゆるふわ設計を元に、物理設計レベルまで落とし込んでいきます。 会員(会員ID、メールアドレス、パスワード、氏名、郵便番号、住所、電話番号) 商品(商品ID、商品名、単価) 注文(注文ID、会員ID、購入…

ざっくりSQL入門 #1:データベース設計<前編>

仕事で、データベースまわりの簡単な講座的なものを残す必要ができたのでまとめてみる。データベースに全く触れたことがないという人より、 RDBMSの概念がなんとなくわかっている、レベルの人向けかと思います。 また、わたし自身もほとんど独学というか業務…

MySQLで4バイトutf-8文字を扱う&ファイルフォーマットを変更する

エントリをアップするの忘れてて今更感。 そもそも4バイトutf-8って何? 絵文字 なんか特殊な漢字 が該当します。4バイトutf-8文字の例 𣖔:𣖔木作(ほうのきざく、福島県の地名) 𣗄:𣗄代(たらのきだい、山形県の地名) 𩸽:ホッケ(おいしいさかな) :…

テーブルごとのサイズを調べる方法

MySQL。 サイズというか容量というか使用量というか。アレ。参考:MySQLのデータベースやテーブルのサイズを確認する方法 - Little Braver http://little-braver.com/379/ SELECT `TABLE_SCHEMA` -- DB名 ,`TABLE_NAME` -- テーブル名 ,`TABLE_ROWS` -- レコ…

複数のテーブルの構造とデータを簡単にコピーする方法

CREATE TABLE [コピー先テーブル] LIKE [コピー元テーブル]; INSERT INTO [コピー先テーブル] SELECT * FROM [コピー元テーブル]; 以上。具体的にはこんな感じ。 (fugaテーブルをhogeという名前でコピー) CREATE TABLE `hoge` LIKE `fuga`; INSERT INTO `h…

半角スペースに2種類あって困った話

いや、2種類あること自体は知ってたんですけど。 文字コード32と160ですね。※10進数普通にスペースキー打って出てくるのは32の方です。 これ→「 」 160の方は、キーボードで打つことができるのかどうかは分かりませんが、 これ→「 」(尚、ここでは↓のように…

MySQLで latin1_swedish_ci を utf8_general_ci に変換

MySQLで悩まされた文字化けについて。誰が作ったか分からない旧システムのDBを見ていたら、 日本語(マルチバイト文字)の入ったフィールドが大概文字化けしている…。 それを使ったシステムはちゃんと日本語で表示しているのですが。そのデータを新しく開発…

MySQLでフリーワード検索

おしごとで、フリーワード検索機能を組み込む機会があったのでメモ。 というか当時のメモが見つかったのでリファクタリング。「最終的に何をどう導入したか」しか書いてないので、もうちょっと詳しく知りたい方は以下参考サイトをどうぞ。参考:MySQLで全文…

「MySQL Cluster」とは

前提 弊社運営のサイトのうち、特定の時期にアクセスが集中するサイトがあるのでなんとか負荷を分散できないか調べたやつ。 結論から言うと不採用になりそうだがせっかくなので調べた内容を残しておく。データベース(というかSQL)は大好物だが、サーバやネッ…

トランザクションの挙動検証

トランザクションの挙動を簡単に検証。 MySQL5.6、InnoDBです。 ごく普通のコミット BEGIN; INSERT INTO `table`(`id`) VALUES(NULL); --① INSERT INTO `table`(`id`) VALUES(NULL); --② COMMIT; 当然①②ともにコミットされます。 ごく普通のロールバック BEG…

サーバのステータス情報を取得・保存するシェルスクリプト

初めてLinuxのシェルスクリプトを作ってみました。 こういう感じでいいのだろうか。MySQLサーバのステータス情報を取得・保存するシェルスクリプト。 これを定期的に自動実行するようcronにでも登録しておけば 後々解析などがしやすい…はず。下記を参考に…と…