いやまあ、マニュアルに書いてあるけど。 http://dev.mysql.com/doc/refman/5.6/en/option-files.html Linuxで公式MySQL、--defaults-file, --defaults-extra-fileを指定しない場合は、 /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf SYSCONFDIR/my.cnfのこと。 公式のバイナリーはSYSCONFDIR== /usr/local/mysql/etc。cmakeのオプションで変えられる。 MariaDBはこいつが設定されていないっぽい。 /usr/local/mysql/my.cnf $MYSQL_HOME/my.cnfのこと。 basedirを設定してれば$MYSQL_HOME== basedirになる。 /home/
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
FrogApps 技術ブログ始めました! RailsやiOS、HTML5の情報を発信中!! → http://qiita.com/teams/frogapps データベースを運用していると、一気にデータを投入したり、更新する必要が出てきます。 MySQLではINSERT文では複数行同時に更新できますが、UPDATEでは用意されていません。 そこで、UPDATEとJOINを組み合わせて、既存のテーブルを一気に更新してみます。 例) original_dataテーブルのbodyの値を複数行一気に更新する まずは元データを作ります。 CREATE TABLE tbl1(id INTEGER PRIMARY KEY, body VARCHAR(255)); INSERT INTO tbl1(id, body) VALUES(1, '001'); INSERT INTO tbl1(id, body)
よくMySQLはサブクエリが弱いと言われるが、これは本当だろうか?半分は本当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし
いつもcreive(クリーブ)をお読みいただきありがとうございます。 この記事は「いつもの記事」とは少し違います。 インターネットさえ繋がっていれば、学びたいコトが学べる時代になりました。 好きな時に好きなだけ学べて、何度でも繰り返して復習できる。 インターネットが提供してくれた価値は、計り知れない威力があります。 この記事は当初、 「ネットさえあれば自由に学べる!日本語で学習できるWebサービス」 というタイトルで作成するつもりでした。 ただそんな一発単体の記事では、世の中は1ミリも動かないと考えました。 私たちcreive(クリーブ)は、このメディアを通して「学びたいヒトが、学びたいコトを、自由に学べる世界」を創ります。 いまこの記事を読んでくださっている方は、ネットリテラシーが高く、すでに知っている情報ばかりかもしれません。 ただ、普段インターネットに触れない人たち(私の場合、地元の
こんにちは、牧野です。久々のブログになりました。。 私事ですが、昨年末、鎌倉に引っ越しました。 今は毎日、鎌倉から1時間半くらいかけて会社に通っています。 前の自転車通勤と比べて片道1時間くらい余計にかかるのですが、通勤電車は混んでおらず(大体11時出社)、席に座って好きなことをして過ごせるので、かえって楽になりました。 会社が始まるのが遅ければ、鎌倉暮らしはおすすめです。 さて、今回はPHPのコードカバレッジについてです。 コードカバレッジとは、プログラムコードのうちどれくらいの割合実行されたのかを表すものです。 例えば、システムのテストをした結果、コードカバレッジが100%になっていれば、全てのプログラムを一通りテストできた、ということが言えます。 今回やりたかったのは、ウェブアクセスして動作確認を進めていく中で、全体のうちどれくらいの割合テストできたのか、どの部分がまだテストできてい
April 4, 2013 Twitterの過去ログが落とせるようになったので SQLに学ぶには丁度いいや。ということで カジュアルにOSX上でhomebrewを使ってMySQLに入れてみました。 MySQL ver.5.6 (homebrew install) OS / OSX 10.8.3 なにはともあれアーカイブをダウンロード Twitterの個人設定っぽいところから ポチポチするとダウンロードリンクが貼られたメールが送られてくるので ポチポチしてtweets.zipをダウンロード。 tweets.csvを探す tweets.zipを解凍すると、中身がこんな感じに出てきて index.htmlをブラウザで開くと、過去のツウィートが見れたりします。 時間泥棒なのでおすすめしません そして、tweets.csvが目的のファイルで、中身を開くと "tweet_id","in_reply_t
斎藤です。こんにちは。 Chef の話題がアツくなっている今日この頃、みなさまいかがお過ごしでしょうか?Chefの解説本も出つつある今日この頃ではありますが、プログラミングそのものに慣れないうちはそれさえ読むのもちょっと大変かもしれません。そこで今回は、 Chef のレシピ+ライブラリを用いて、MySQLの設定の自動化を試します。いわゆる「写経」から始めてみて、少しずつ「手動」からプログラムを通じた「自動化」にチャレンジしてみましょう。 ※Chef 11.04.0, knife-solo 0.2.0, Ruby 1.9.3p327, CentOS 6.3 で検証しています。 今回のお題 MySQLサーバをインストールしてみます。ITインフラを構築・運用している方ならご存知かと思いますが、MySQLはインストールだけでなくmy.cnfの設定までが作業です。その際にinnodb_buffer_
こんにちは。 突然ですが32bit/64bitの差を調べていて気づいたのでメモ。 32bitだともちろん32bitを超える数値をそのままでは扱えないわけですが、MySQL的にはどうなのよってことで特に値が大きくなりがちなid発番を見てみました。 弊社ではid発番をauto_incrementではなく、MyISAMなテーブルに対する以下クエリで発番しています。 CREATE TABLE `hoge` ( `id` bigint(20) unsigned NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=sjis update hoge set id=LAST_INSERT_ID(id+1) で、unsignedなんだから「18446744073709551615」までイケるだろ! と思ったら mysql> select * from hoge; +------
ずいぶん前から作って動かしてはいるのですが、GrowthForecastの他にもうひとつのグラフ作成ツールを公開しています。 https://github.com/kazeburo/HRForecast デイリーで更新される数値のビジュアライズに使う事が出来ます。GrowthForecastにはない過去データの登録もできます。 モリスさんのスライドでも少し登場しています。弊社では主にHiveでの集計の書き出し先として使っています http://www.slideshare.net/tagomoris/log-analysis-with-hadoop-in-livedoor-2013 画面はこんな感じ 他のページにembedするHTMLの発行やCSVでダウンロードをサポートしています データの登録APIについて データの登録は、GrowthForecastと同じようにURIに対してPOSTリ
YAPC::Asiaのスライドで予告していた通り、実際に弊社のいくつかのサービスで使っている my.cnf を公開しました。 github: https://github.com/kazeburo/mysetup/tree/master/mysql 今回、公開した理由はMySQl Beginners Talksの発表の中でも触れている通りです。MySQLのソースコード中に含まれるサンプルのmy.cnfが最近のサーバハードウェアや運用に合わなくなって来ているという状況で、自分の設定にイマイチ自信が持てていない人は少なくないはず。そこで各社秘伝のタレ的な my.cnf をOpen & Shareすることで、モダンなmy.cnfを作り上げる事ができるんじゃないかという考えの下、今回 github にて公開しました。 ファイルは4つあり、それぞれ MySQL 4.0、5.1、5.5、そしてテスト中
ここ最近、jekyll に関する記事を目にする事が多くなりました。 以前から WordPress でオリジナルなブログを作ってみたいと思いながらも、なかなか重い腰が上がらなかった私が、なんとなく jekyll でブログを作り始めてみたら、以外にオモシロかった、という話をまとめてみたいと思います。 本来生まれも育ちも違う、WordPress と jekyll を比べる こと自体はナンセンスなので、jekyll でどこまでできるかが本記事のメイン・テーマです。 大抵は 「ブログなら、最低このぐらいの機能が欲しいよネ」 というのがあると思います。例えば、私も使っている Octopress では、カテゴリとタグを使い分けることが出来ません。またカテゴリを階層化したい人もいるでしょう。「続きを読む」的な機能だって、欲しいですよネ。 一方海外では、「WordPress から jekyll に乗り換えま
2009年11月22日16:29 MySQL InnoDBで行ロック/テーブルロックになる条件 MySQL にはよく使われるストレージエンジンとして MyISAM と InnoDB がありますが、違いの一つとしてロックの挙動が挙げられます。MyISAM はテーブルロック、InnoDB は行ロックが掛かるというのは有名な話じゃないかと。 ただ、最近知ったのですが、InnoDB だとしても必ずしも行ロックになるわけではなく、テーブルロックになる場合もあるようですね。。このことについて手元の MySQL 5.1.26RC で簡単ですが検証してみます。サンプルとして使うテーブルはこちら。 CREATE TABLE `lock_sample` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` int(11) NOT NULL, `c2` int(11) NOT
実は1.0.0が2010年12月にリリースされていたのに全く知名度の無い"MySQL Utilities"。実は便利な機能が複数用意されているので、スクリプトを手作りしなくても済む可能性大です。またリリースに向けて新たなマイルストーンリリースが出てきたMySQL 5.6でのレプリケーションの追加機能と組み合わせる便利機能もあります。 MySQL UtilitiesはPythonで書かれたスクリプト集で、MySQL Workbenchに同梱されて配布されています。ライセンスは「もちろん」GPLです。2012年7月上旬時点での最新版は1.0.5です。また実行可能なスクリプトの他に、ライブラリとして細かな機能が用意されているため、独自のスクリプト作成にも役立ちます。 起動にはMySQL Workbenchのメニューの【Plugins】から【Start Shell for MySQL Utilit
MySQL | PostgreSQL | MongoDB | Redis Works with AWS, Linode, DigitalOcean, Rackspace, Heroku and more. Automatic daily backup to Amazon S3. Review your backup strategy Replication and RAID aren't a backup. What happens if your database is wiped by a developer by mistake, or taken hostage by an attacker? You have a virtual machine snapshot, but what happens when a wrong instance was dropped? What a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く