タグ

mysqlに関するyosshiのブックマーク (30)

  • mysqlクライアントでSQL文の結果をファイルに出力する - bnote

    ちょっとしたレポートだったりSQL文の実行結果のをファイルに保存したい場合 mysqlクライアントで次のように実行します。 mysql -u ユーザー名 -p データベース名 >出力ファイル名(mysql.out) Enter password: パスワードが正しければ、SQL文の入力待ちになります。 mysql -u ユーザー名 -p データベース名 >mysql.out Enter password: SELECT * FROM テーブル名; \q SQL文を実行し、\qやquit等でクライアントを終了させます。 以上で結果が出力されたファイルが作成されます。 結果を成形して出力する 上記例の場合、項目とデータが出力されます。これを成形した形で出力するには -tオプションを付けて実行します。 mysql -t -u ユーザー名 -p データベース名 >mysql.out 項目名を出力し

    yosshi
    yosshi 2011/02/22
  • mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ

    初めまして。2010年の3月に入社した oinume です。新年1月からウィルス性胃腸炎に罹りながらもなんとかこのエントリーを書いています。今回は、mysqlコマンドに関する自分が今まで学んだ&教えてもらった細かい実践的なTIPSを紹介します。小粒ですが何かの役に立てば幸いです。 edit (¥e)コマンド mysqlプロンプトにいながら任意のエディタでSQLが編集できちゃいます。具体的には、mysqlコマンドでプロンプト待ちの状態で mysql> edit のように edit または ¥e と入力すると、環境変数EDITORで設定してあるエディタが立ち上がりSQLが編集可能になります。編集が終わったらエディタを終了して ; とやればSQLが実行されます。viなどターミナルで動くエディタに慣れている人は長いSQLを編集する時に重宝する機能でしょう。この技は前職の同僚に教えてもらって、以降便

    mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ
    yosshi
    yosshi 2011/01/20
  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
    yosshi
    yosshi 2010/11/15
  • Twitter、MySQLデータベースからCassandraに移行

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます TwitterMySQLデータベースからCassandraに移行する。同社エンジニアRyan King氏が米国時間2月23日、MyNoSQLのインタビューに応じ、決定に至るまでに検討した内容などを明らかにした。記事によると、同社はクラスタ化したMySQLサーバとメモリキャッシュシステムを運用してきたが、データ量の拡大に伴い、運用管理にあたる人件費の拡大に悩まされるようになってきたという。そのため、高可用性を保ちながら、成長に伴う作業を自動化する方法を模索した。

    Twitter、MySQLデータベースからCassandraに移行
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

    yosshi
    yosshi 2009/10/28
  • SELECT ... INTO OUTFILE 構文を使って結果セットを CSV 形式でファイルに書き出す - @kyanny's blog

    MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.2.9 SELECT 構文 SELECT ... INTO OUTFILE '/tmp/hoge.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM ... FIELS TERMINATED BY フィールドの区切り文字を指定 ここではカンマ OPTIONALLY ENCLOSED BY フィールドを囲うクォート文字を指定 ここではダブルクォート LINES TERMINATED BY 行の区切り文字を指定 ここでは改行文字

    SELECT ... INTO OUTFILE 構文を使って結果セットを CSV 形式でファイルに書き出す - @kyanny's blog
  • Multiple row operations in MySQL / PHP - Eran Galperin

  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 13.2.6 INSERT ステートメント

    SAVEPOINT、ROLLBACK TO SAVEPOINT および RELEASE SAVEPOINT ステートメント

    yosshi
    yosshi 2009/05/15
    INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
  • ALTER TABLEを上手に使いこなそう。

    テーブル定義を変更したい。インデックスが壊れてしまったので再作成したい。そんな場合はALTER TABLEを使う。ALTER TABLEはテーブル定義を変更するお馴染みのコマンドであるが、その挙動は意外と知られていない。(エキスパートとおぼしき方々からも度々質問を受ける。)そんなわけで、今日はALTER TABLEについて解説しようと思う。 まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。なんて無駄なことを!?と思うかも知れないが、テーブル定義(スキーマ)の変更を動的に行うには、ストレージエンジンによるサポートが必要であり、動的なスキーマ変更をサポートしているストレージエンジンはまだ少ないのである。(動的スキーマ変更をサポートしているのはMySQL Clusterぐらいだ。しかも追加だけ。)デフォルトで利用出来るMyISAMはInn

    ALTER TABLEを上手に使いこなそう。
    yosshi
    yosshi 2009/05/11
  • dublish.com - Simple Optimization for PHP and MySQL

    Simple Optimization for PHP and MySQL Saturday April 29 2006 03:23 Here is a list of a few very simple tips for optimizing your php/mysql applications. Keep these in mind while developing. MySQL MySQL is interpreted from right to left so you should put the most significant limiters as far to the right as possible. Only select fields you need, instead of selecting * (everything). Don't put things t

  • mixiの年末年始対策 日記投稿システムの改善 - mixi engineer blog

    朝晩冷えてきましたね。風邪など引いていませんでしょうか。さて、年末が近づいてくるこの時期に弊社のエンジニアが最も気になるのは、お正月。それも来年1月1日を迎えた瞬間です。 1日1日0時に何があるのでしょう?そう、mixiのサービスで最も日記が書き込まれるタイミングになるのです。個人的に「あけおめことよろアタック」と呼んでいます。今年は日記だけではなく、エコーでもメッセージが飛び交うことでしょう。この時期は携帯電話のキャリアでもさまざまな対策を行っていますが、ミクシィでも年末年始でもユーザの方に快適にサービス提供ができるように努めています 以下は昨年の年末年始の日記投稿数の推移です。青色が12/31から1/1、赤色が1/1から1/2になります 1/1の方が全体的に多いですが、特に年が変わる前後の投稿数は倍近くなっていることがわかります。この時に負荷により日記の投稿がしづらい状態になっていたの

    mixiの年末年始対策 日記投稿システムの改善 - mixi engineer blog
  • inasphere blog | MySQLの文字化け対策

    PHP-MySQL間での文字化けについて。 問題点 PHPMySQLともにUTF-8で構成しているのに、DBとのデータ受け渡しで文字化けが起こる(おそらく他の文字コードでも同様)。 対応策 下記どちらかの対応を実施する。 その1 DB接続ごとに、処理実行前に「SET NAMES UTF8」というクエリを発行する。 その2 my.cnfファイルの設定を下記のように変更する。 #character-set-server = latin1 // 元々あるものをコメントアウト #collation-server = latin1_general_ci // 同 上 default-character-set=utf8 // 新しく追加する skip-character-set-client-handshake // 同 上 実行時の環境 Windows 2000 XAMPP 1.6.1 PH

    yosshi
    yosshi 2008/12/05
  • MOONGIFT: 作ろう!家庭内ポータル「MyHome Portal」:オープンソースを毎日紹介

    オフィスではグループウェアが導入され、情報が共有されるようになっている。では家庭ではどうだろう。家族間のコミュニケーションを確保する、いやいやそんなことではない。覚えておくべきイベントの情報や、出かける予定、思い出を一カ所にまとめておくべき場所のことだ。 ダッシュボード 言わば冷蔵庫メモのデジタル版と言えるかも知れない。気軽にメモを書く場所、予定を書き込んでおく場所だ。そんな家庭内ポータルとも言える存在を目指すのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはMyHome Portal、家庭内のポータルシステムを構築するソフトウェアだ。 MyHome Portalの主な機能はカレンダー、リンク、メモ、アルバムと言った機能がある。まさに冷蔵庫いらず(?)の機能が揃っている。予定を登録しておけば、それをみれば夕飯がいるかいらないかも分かり、メモをつけておけばおやつの場所も分か

    MOONGIFT: 作ろう!家庭内ポータル「MyHome Portal」:オープンソースを毎日紹介
    yosshi
    yosshi 2008/09/22
    単身赴任で家族と離れて暮らしているのでこういうのは便利かも。あとで試してみる。
  • Mac OS XでAMP構築(1/4) ― @IT

    Shin.鶴長 2008/5/19 DarwinをベースとしたUNIX系OS「Mac OS X」では、ApacheやSambaをはじめとするおなじみのアプリケーションを動作させることができます。今回は、Webアプリケーションの定番、AMP(Apache+MySQLPHP)環境を導入してみましょう(編集部) Mac OS Xは、BSDの流れをくむ「Darwin」をベースとしたUNIX系OSです。 Mac OS Xを手掛けるアップルでは、発売当初からUNIX由来の堅牢(けんろう)性や安定性を前面に打ち出し、UNIX互換であることを強くアピールしていますが、「Aqua」と呼ばれる洗練されたユーザーインターフェイスに覆い隠され、普通に使用するうえでUNIXを意識することはありません。 しかしひとたび「ターミナル.app」を立ち上げれば、ps、ls、viなど、Linuxで慣れ親しんだコマンドに触れ

  • http://www.oddwit.com/blog/2007/moved-to-dreamhost

  • mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法 - (ひ)メモ

    追記: rehash(auto-rehashも含む)すると、SQL文の補完(seleでタブ打鍵とか)が効かなくなるよと、はす向かいの人に教えてもらいました。 個人的には、SQLは「mysql> help select」とかでオンラインヘルプがびょっと出るので、スキーマの補完ができるんならSQLの補完はとりあえずあきらめてもいいかなと思っています。 常々、テーブル名とか補完できるといいなーと思っていたので、ボロっときいてみたら教えてもらいました。あざーーーーっす! id:mikihoshi++ id:tokuhirom++ id:precuredaisuki++ おかげで効率が300%上がりました。(Benchmark::Stopwatchで計測) http://dev.mysql.com/doc/refman/5.1/en/mysql-command-options.html#option

    mysqlコマンドで、テーブル名とかカラム名の補完(completion)をする方法 - (ひ)メモ
    yosshi
    yosshi 2008/01/22
  • MySQLのInnoDBでのデッドロック - mixi engineer blog

    こんにちは、mixi開発部にてアプリケーション開発をしていますyouheiです。 今回は、MySQL-5.0.45のInnoDBで連番を管理するテーブルのパフォーマンス測定をしていたのですが、その際に少し変わったデッドロック問題に遭遇しましたので、そのあたりをネタとして書いてみたいと思います。 まずは、今回使用したデータベースのスキーマは下記のようなものです。 CREATE TABLE num ( id bigint unsigned NOT NULL default '0' ) Engine=InnoDB; AUTO_INCREMENTは使用していません。 そこに1レコードだけ登録します。 INSERT INTO num (id) values (1); そして実際連番を取得する際には、 UPDATE num SET id = LAST_INSERT_ID(id+1); といったクエリを

    MySQLのInnoDBでのデッドロック - mixi engineer blog
    yosshi
    yosshi 2007/11/27
  • MAMP & MAMP PRO - your local web development solution for PHP and WordPress development

    MAMP PRO for Windows MAMP PRO is the commercial, professional frontend for the classic local server environment: MAMP. With MAMP PRO you can create a separate host for each of your web projects. You can install WordPress and other Extras like Joomla or Drupal with just a few clicks. This is just a small part of what you can do with MAMP PRO. Buy MAMP PRO for Windows MAMP for Windows MAMP is a free

    MAMP & MAMP PRO - your local web development solution for PHP and WordPress development
  • MovableType のデータベースを間違って消してしまったときの対処方法

    実を言えば MT のデータベースをサックリ消してしまった経験は2度ほどになるわけですが、mysqldump でデータのバックアップを取っていないときは冷や汗もんです。だいだい消えるときに限ってバックアップなんぞは取っていないものです。 つい最近、会社の社内ナレッジブログをサックリと消しちゃいました。っつーか、mysql 上の不要データベースを削除メンテナンスしていました。随分とディスク容量空いたなぁ〜と思ったら、間違って全部消しちゃってました。 こりゃビックリ! Σ(゚Д゚;エーッ! 幸いほとんどのデータベースはスナップショットだったので復旧できたのですが、社内ブログだけがマスターでした。バックアップもないものはしょうがないので、今ある html からデータ復旧しました。ほとんど素の状態のテンプレ使っていたの汎用的かも?と思い、手順とスクリプトをさらしておきます。なんだか似た記事書いた記憶

  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

    yosshi
    yosshi 2007/07/12