サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GWの過ごし方
sakaik.hateblo.jp
MySQLはとても気ぃつかい屋さんである。我々が投げる多少あいまいな指示も頑張って解釈し、なんとか文句を言わずに実行してみようと挑戦してみてくれる。 今日はそんなMySQLがケナゲに解釈してくれる自動変換について紹介しようと思う。この自動変換、ケナゲなMySQLの奥ゆかしさ故、出した指示と異なる動作をされたことに気がつかないことがある。ここで紹介する6つの自動変換をしっかり脳ミソにたたき込んでおけば、無用なトラブルにハマる時間も減るかもしれない。 1.[数値] 範囲外の数値は頭を押さえつけられる intやsmallint、bigintなどの数値型には、扱える範囲が決まっている。例えばint型なら最大21億ちょっとだ(unsignedの場合は43億弱)。これより大きい数字を登録するよう指示を出すとMySQLはどうするか。そう、頑張って入れられるところまで入れてくれるのである。「入れられるとこ
キャッシュバックキャンペーンをやっている製品を購入して応募したところ、メーカーより「おまえの製品は中古品である」として、キャッシュバックをしてもらえないという(私にとっては)珍しい体験をしたので、記録として日記に。 要約 エプソンのEW-M770T というプリンタを、Amazonサイトに出展している業者から購入した(発送はAmazon) このプリンタは、保証書のコピーと領収書を送ると 15,000円がキャッシュバックされるキャンペーン中 キャッシュバック応募したところ、2ヶ月強経過した3月某日、「それは中古品だからキャッシュバックしない」とのお手紙が来た 詳細情報、所感など Amazonにて本製品を注文したのは、2017年12月のこと。Amazon倉庫から発送するという奈良県の業者。「新品未開封品」「キャッシュバックはAmazon領収書で対応可(エプソン確認済)」の明記があったので安心して
バージョン5.6 が待望のGAとなりました!早速、あいていたサーバに入れてみました。インストール後の設定が、至れり尽くせりになっていて、びっくり!*1 ちょっと引用が長くなるけど、敢えて途中のカットとかをしないで載せたいと思います。 あ、linux(CentOS) へのインストールです。 まず、取得したrpmのファイルを使ってインストールします。 # rpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm Preparing... ########################################### [100%] 1:MySQL-server ########################################### [100%]すると、数分間かけて、以下のような文字列がつらつらと表示されてきます(ここでは、コメントをい
先日の『これだけは覚えておきたい!!MySQL の6つの自動変換』 http://d.hatena.ne.jp/sakaik/20100225/mysqlautochange にはたくさんの反響をいただいた。 時にこちらの意図と違っちゃうこともあるけれどもケナゲに気を使ってくれる MySQL が、これほどに皆さんにも愛されていることが判り、MySQLファンの一人として嬉しい限りである。 さて、そのエントリの最後に、 なお、「SQLモード」を指定するとこれらの動作を変更することができる。SQLモードについては気が向いたらいつか紹介してみたい。 と書いたところ、速攻でキムラデービーの木村明治氏が補足エントリーを書いてくださった。 ○キムラデービーブログ [勝手に補足]これだけは覚えておきたい!!MySQL の6つの自動変換 http://blog.kimuradb.com/?eid=83851
慣例(?)として4月下旬には出るのではないか、と勝手に予測していた MySQL 8.0 が、私の予想よりもほんの少し早くリリースされました*1。ついに待望の GA です。 MySQL 5.7 で、それ以前のバージョンと比べて非常に大きな進化をしたMySQLですが、バージョン番号を大きく飛ばした今回の MySQL 8.0 でも一層の進化をしています。進化の内容は MySQL Server Blog の記事で詳しく説明されているので、私もこれから少しずつ読もうと思います。 mysqlserverteam.com この Server Blog のエントリー、とってもとっても長い力作で、これを読むだけでMySQL8.0の進化の概要はざっと理解できそうなくらいです。が、長いと(更に英語だし)だんだん何を読んでいるのか分からなくなってしまうので、私はこういうときに「地図」を作ります。自分用に、ざっくり
朝には最寄りのヤマトに届いていたのに、配達は夜になってからでした。楽天Kobo。通称「楽天のKindle」または「楽天のAmazonのKindle」。 早速開封して、試してみました。約1時間半のおつきあいの大部分を占めた感情は「ふざけるな」。 いたるところに、ユーザがどのように使うのかを考えていないと感じる部分があり、比べるとやっぱりKindleってすごいのだなと再認識することができた点で、楽天Koboは十分に役割を果たしてくれたと思います。 願わくば、私の1時間半を奪うのではなく、せめて30分くらいでその(Kindleの)すごさを感じさせてくれたら、なおありがたかったなと思うところであります。 以下、セットアップ作業をしながらリアルタイムでメモしていたもの。 −−−−− windowsでKoboSetupインストール、起動。 接続、セットアップ。 ステップ2/4で楽天にログインを求められ
最近は、会社などの組織において仕事の指示をする場合に、単に上司が命令をするだけでは組織は動かないと言われています。部下に仕事をしてもらうには--そう、まさにこの「してもらう」の気持ちこそが本質なのですが--「命令」ではなく「依頼」の形を取ることで、お互いに気持ちよく仕事をすることができ、より良いチームとなるのです。 この世の中の流れは近年、ソフトウェアの世界にも強く適用されるようになってきました。ソフトウェアに於いても、常に、より中立的な立場での対応が求められてきています。 MySQレも例外ではなく、最近の修正ではレプリケーションの master-slave を source-replica と呼ぶように変更したり、blacklist を blocklist に変更したりなどの話題を目にした方も多いと思います。 これら一連のポリティカリーにコレクトな対応に今回新たに加わったのが、冒頭で紹介
MySQL 5.5.3-m3 ではたくさんのオプションやコマンドなどが廃止となりました。もともと非推奨(obsolete)されていたものですが手に馴染んでいたものも多く、しばらくは使いながら混乱することでしょう。 ひとつ前の日記で宣言したとおり、以下に変更点を整理しておきます。情報量としては基本的にリリースノートと同じです(リリースノートの抜き書きです)が、こちらのほうが少しは見やすくなっているかな、、、見やすくなっていたらいいな、、、と思います。 廃止されるシステム変数 代わりに使う変数 log_bin_trust_routine_creators log_bin_trust_function_creators myisam_max_extra_sort_file_size - record_buffer read_buffer_size sql_log_update - table_t
オラクルのサン買収に関し、MySQLのオリジナル開発者の Monty こと Michael Widenius 氏が、MySQLユーザに向け、支援を要請するメッセージを出しました。 http://monty-says.blogspot.com/2009/12/help-saving-mysql.html (1)これまでに起こったこと(要約) (2)オラクルが約束「しなかったもの」は何か (3)これまでのオラクルの、オープンソースへのふるまい (4)この情報を広めて欲しい (5)EUへの email のサンプル が書かれています。 オラクルによるサン買収が発表された後、これまでにも何度となくメッセージを発信してきた Monty ですが、今回のメッセージはこれまでになく強いメッセージであるという印象を受けました。 以下簡単ですがまとめてみます。あくまで参考程度にしていただくことにして、正確なこと
今までマニュアルを斜め読みした程度で「MySQL 5.1 から使えるようになったパーティショニング。便利そうだな」などと思っていたのですが、このたび実際に使いたいシーンが出てきたので、利用を前提に調べてみました。 そしたら、ハマることハマること。やりたいことは、日付カラムで1日ごとのパーティションにしたいだけだったのですが(向こう2年分くらいパーティション作っておいて、運用で「古いパーティション削除→新しいのを追加」でいいかなと考えていました)、これができない。 ハマりの原因は「パーティショニングの条件は、プライマリーキーの一部でなければならない」という制約。 http://dev.mysql.com/doc/refman/5.1/ja/partitioning-limitations.html 今回使用を検討したテーブルはプライマリーキーが重要だったので、 CREATE TABLE pt
Twitterに書き殴ったのですが、流れてしまうので、一応こちらにもまとめておこうかと。 これって、何を数えているんでしたっけ? mysql> SELECT COUNT(*); +----------+ | COUNT(*) | +----------+ | 1 | +----------+— 坂井 恵(SAKAI Kei) (@sakaik) 2020年5月1日 コトの発端はちょっとした打ち間違いだったのですが、MySQL は FROM 書かなくても演算できます。こんな感じ。 mysql> SELECT 3; +---+ | 3 | +---+ | 3 | +---+ mysql> SELECT SQRT(64); +----------+ | SQRT(64) | +----------+ | 8 | +----------+ ここで、SELECT COUNT(*) とすると何が返って
MySQL 5.4 について以下のURLにかなり詳しい情報が掲載されています。もちろん MySQL 5.4.0-beta 時点での情報ですので「予定は未定」的なものも多いのですが、このフェーズでこれだけのドキュメントがまとめられていることに、先行きの明るさを感じます。 http://dev.mysql.com/doc/mysql-5.4-features/en/index.html で、私エイゴヨメマセーン。 理解した(と自分が思った)とたんにもう忘れているのでメモしないと理解できないのです。 ということで、超訳というか、いやすでに訳じゃないです、妄想ですが、こんなことが書いてありますというメモを作っているので折角なのでここに書いておきます。 書いてないことまで書いてありますので注意。ちゃんとした情報を知りたい方は原文に当たってください。 明らかに意味違うよってところはコメント等で教えてい
数日前に、とみたまさひろさんのこんなツイートがありました。 なんだこれ? MySQLこわい… mysql> SELECT * FROM x WHERE datetime IS NULL; datetime 0000-00-00 00:00:00— とみたまさひろ (@tmtms) 2015, 12月 17 @tmtms ちなみにその '0000-00-00' は、 IS NOT NULL のときには含まれないんですか?— 坂井 恵(SAKAI Kei) (@sakaik) 2015, 12月 17 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.3.2 比較関数と演算子 "NOT NULL として宣言された DATE および DATETIME カラムでは、次のようなステートメントを使用することで、特殊な日付 '0000-00-00' を検索できます" その後の t
トラブルにならない 社員の正しい辞めさせ方・給料の下げ方 作者: 井寄奈美出版社/メーカー: 日本実業出版社発売日: 2009/12/19メディア: 単行本(ソフトカバー) クリック: 67回この商品を含むブログ (7件) を見る 新年一冊目の読書感想文は、なんとも挑発的なタイトルの本。 「なにわの社労士」井寄奈美さんの新しい本です。 とかく(雇われではない)まっとうな経営者というのは、我慢して我慢して我慢して、なんとか雇用を守ろうとするものです。社員に辞めてもらうのは悪だ、という考えが根底にあるからでしょう。それでも経営状態が悪い時、全員の給料を払いきれないような状態(これを著者は「10人乗りの船に6人分のパンしかない状態」とたとえています)では、適切な人数規模にすることを選択しなければならないこともあるはずです。 無理して頑張っちゃってニッチモサッチもいかずに苦しんでいる経営者さんを多
本エントリは事実上終了しました。
久々にMySQL関係でハマりました。原因は mysqldump です。実は数ヶ月前にも同じ現象で悩み、その時は深い調査しないまま対処療法をしてしまいました。今回、やはり技術者たるもの、しっかりと根本原因を追及しなければならないなと反省した次第です。 MySQL 5.0 以降の mysqldump では --opt オプションがデフォルトで有効となっています。これは以下の8つのオプションを一括して指定するオプションです。 --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset この中で --extended-insert オプションがあることにより、レコードをコンマ区切りにして、できるかぎり一括してひとつのINSERT文
一部の世間を騒がせている「ファーストサーバ、預かっていたデータを全部消しちゃったぞ事件」。報道で情報が増えるに従って「こんなにいろんな会社が利用していたのか」と驚かされます。もうちょっとしっかりしたサービス会社を利用していてもいいのに、、、と思うような、大会社も含まれています。 私も長いこと、ファーストサーバを利用していました。20日(水)の夕方から、POPメールが取得できないことに気づいたものの、たまにあることなので、すぐに直るだろうと特に気にしていませんでした。 まさかの全消失。 個人的には、もうどうでも良いことではありますが、ライトな契約者のひとりの立場として、記録を残して置いてもいいかな、と思い、本エントリをしたためます。 私のファーストサーバ利用法 いくつかのサービス会社で、いくつかのドメインを運用している中で、ファーストサーバは「お遊び系」という位置づけでした。要するに、公開サ
MySQL 5.5 話題の機能のひとつ、セミ・シンクロ・レプリケーション。同期と非同期の間の「semi-」シンクロということで、息を大きくすって一息で言うと「マスタの更新がスレーブのDBに反映されるところまでは保証しないのだけどスレーブのDBに反映するために一旦スレーブ側に保存するファイル(リレーログ)に保存されることまでつまりスレーブにデータが渡っているところまでは保証するレプリケーション」ということになります。さて問題です。この文に読点を打ってください(笑)。 セミシンクロレプについては、漢(オトコ)が詳しく説明してくれています。 http://nippondanji.blogspot.com/2009/03/mysql-ha-semi-synchronous-replication.html ということで、どんな動きをするのか興味があったのでさくっと試してみました。最大の懸念は「スレ
まえがき 先日のPHPカンファレンスで WordPress の話を聞き、その場で初めてインストールしてみて以来、まだ数日ですが、WordPress熱が上がっています。 特に何か本を読んだり特別に調べたりすることなく、気の赴くままに直感でどこまで触れるかのお試しの意味も含め、好き勝手触っているのですが、ひとつ躓いていることがありました。 WordPressではサイトの見栄えである「テーマ」を、なんと管理画面内で一覧表示して選択し、それをダウンロードすることができる機能を提供しています。XOOPS時の私の経験では「作者のサイトなどからダウンロード→FTPで転送」という作業が必要だったので、これはすごい、と思いました。 が、管理画面から実際にテーマのインストールをしようとすると「要求された操作を実行するためには、接続情報が必要です。」というメッセージが出て、FTPのアカウント情報の入力を求められ
MySQL 5.1.38 がリリースされました。5.1シリーズはここ数ヶ月は毎月月初に必ずリリースされていて、MySQLリリース管理が安定したことを感じさせられます。 http://www.mysql.gr.jp/frame/modules/news/article.php?storyid=147 今回のリリースノートには、いつもの「変更点」の箇条書きだけでなく、今回のリリースから加えられた「InnoDB Plugin」についての説明が長々と書かれています。 英語は外国語にしか見えない私にとって(←当たり前だ)自分の理解のために例によって「超訳」してみました。 訳なんて言葉を使うとバチがあたりそうなので「私の理解を、なるべく原文の話の筋に沿って私の言葉で説明してみました」くらいの感じだと思って下さい。誤りや勘違いなどに気づいたかたは教えて下さい。 原文はここ:http://dev.mysq
どこかでちらっと見た気がするのだけど(たぶん誰かのtwitter発言から辿ったのでしょう)わからなくなってしまいました。「○○によく出る英単語」みたいな話題だったと思います。 なんだか気になったので、MySQLマニュアルで見てみました。MySQLのマニュアルにはどんな単語が使われているのでしょうか。 なお、集計には、本日取得した、http://dev.mysql.com/doc/ の MySQL 5.5 Reference Manual の HTML Page/chapter のファイルを利用しました。 ではまず、ベスト10の発表です!! 1位 77719 the 2位 31404 to 3位 25317 a 4位 23197 and 5位 19769 of 6位 18883 is 7位 17178 for 8位 17038 in 9位 16360 mysql 10位 12031 you
オラクル社主催の MySQL User Conference Tokyo 2015 に参加してきました。 MySQL User Conference Tokyo 2015 日本でのMySQLのカンファレンス。MySQL社の時代、サンマイクロシステムズの時代にそれぞれ何度か開催されたことがありましたが、オラクルに買収されてからは初めての開催です。米国での動きを見ていると、オラクル製品のイベントの一部としてMySQLのコーナー(ブロック)があるといった印象が強いので、ここで日本国内で、オラクルデータベースとはまったく別個にMySQLの名を冠した単独イベントが開催されたことを、たいへん嬉しく思っています。 今回は、1日開催、セミナー1トラックのみ、企業等のブースもとくになし、というコンパクトな開催となりました。寂しくないのか?と言われれば、声を大きくして「寂しい!」と答えるでしょうけど、MySQ
MySQL徹底入門 第3版 ?5.5新機能対応? 作者: 遠藤俊裕,坂井恵,館山聖司,鶴長鎮一,とみたまさひろ,班石悦夫,松信嘉範出版社/メーカー: 翔泳社発売日: 2011/08/26メディア: 大型本購入: 9人 クリック: 82回この商品を含むブログ (9件) を見る 『MySQL徹底入門第2版』が出版されてから5年半。MySQLバージョン5.5に対応した『第3版』が、いよいよ出版されます。 第2版は今読み返してみても、この動きの速い業界内でとても5年半前の本だとは思えないくらい内容が色あせていないのですが*1、それでも人に勧めるのは「ちょっと古いかな、、、」と躊躇するようになっていました。なんたって5年ですから。 このたび黒い鳥から白い鳥にスッキリと生まれ変わり、ページ増量、価格据え置きで第3版が出版されることになりました。発売日は来週末(2011年の8月25か26か27くらい)。
「MySQLには (特にPostGISと比べて) 対応している空間関数がとても少ない」と、この7年間言い続けてきました。 一方で、MySQL 8.0 以降(正確には5.7以降)のGIS関数は Boost::Geometryという専門家のようなライブラリを活用して、独自実装を避けるようになった、ということもお伝えし続けてきました。 ・・・この2つの情報を組み合わせると、 「 Boost::Geometryライブラリの関数を呼び出すコードを書けば、MySQLにもどんどんGIS関数を追加できるのではないか」 という必然に行き着きます。 ・・・これに気づくまでに7年かかった。。。 ということで、Polygonの周長を返す ST_Perimeter() 関数を実装してみました。 Spatial機能に関する背景情報や実装のお話などは、先日のMyNA望年LT大会で結構言い尽くしたので、発表資料をここに上
突然、MySQL用のVPストレージエンジンが気になったので試してみました。 VP(Vartical Partitioning)とは、文字通りテーブルの縦分割のことで、カラムがいっぱいあるテーブルをバッサリと縦に切って(もちろんPRIMARY KEYのカラムは両方に持ちますよ)別々のテーブルに分けて管理するというもの。 これだけなら、テーブルを分割したあとで、アプリケーションのほうで必ず両方のテーブルの整合性が保てるように追加/削除/更新をすれば良いだけなのですが、「だけ」とは言ってもこれは結構面倒。VPストレージエンジンを使うと元のテーブルレイアウトのままでもアクセスすることができるのです(親テーブル/子テーブル群 的に考えるとイメージがわきやすいでしょうか)。 まずは試してみます。Windows上で細かいことは気にせずにさくっと*1。 http://spiderformysql.com/
米サンタクララで開催中のMySQLカンファレンスに合わせてリリースされました。同時リリースになったのは InnoDB Plugin 1.1 を公開したかったからだと推測しています。 http://www.mysql.gr.jp/frame/modules/news/article.php?storyid=175 MySQL 5.5.4-m3 は ・InnoDB Plugin がそれまでの 1.0.6 から 1.1 に変更された ・Linux x86_64 版しか公開されていない というくらいの話題に留めておいて、ここでは主に MySQL 5.5.3-m3 について。 MySQL 5.5.3 では非常に多くの変更がなされています。日本語的には以下のものが気になるところですね。 - キャラクタセットとして、utf16 コードと utf32 追加。 - キャラクタセットとして念願の 4バイトUT
この記事は、2015年「MySQLマニュアルを読む」アドベントカレンダーの19日目です. MySQL 5.7.7 からは、新たに「sys」という名前のスキーマが追加されました。 MySQL :: MySQL 5.7 Reference Manual :: 22 MySQL sys Schema これは大雑把に言うと、MySQLの開発や管理をする上で便利な機能を集めたものです。 もう少し具体的には、便利なストアドプロシージャ(ストアドファンクション)やVIEWなどを集めたものだと考えて良いかと思います。 22.1 Prerequisites for Using the sys Schema 22.2 Using the sys Schema 22.3 sys Schema Progress Reporting 22.4 sys Schema Object Reference 22.4.1 s
今年もサンタクララで、オライリーの MySQL Conference & Expo が開催されています。 4月11日(月)から、本日14日(木)まで。150近くのセッションが行われています。 ○ O'reilly MySQL Conference & Expo 2011 http://en.oreilly.com/mysql2011/ 早速、続々と、セミナー資料(一部ビデオも)が公開されています。 セミナースケジュール表のうち、下図の緑色の部分が公開されているものです(4/14(木) 15:00JST (GMT+0900)時点)。 資料はすべて http://en.oreilly.com/mysql2011/public/schedule/proceedings にありますので、興味を惹かれたものをぜひブログとかで日本語で(笑)紹介してください! ※単なる画像イメージです。クリッカブルにな
Delphi XE5 で Android アプリを開発できる環境を整えるまでの道のり。さっと入れてぱっと動かしたらどーんと出来るかなと思っていたら、意外とハマりポイントがあったので、以下整理します。 作業の概要 Delphi XE5 で Android アプリを開発するまでには、以下のステップがあります。 (1)RAD Studio XE5 (Delphi XE5)をインストールし起動 (2A)実機デバイスを接続して、認識させる。 (2B)エミュレータの動作環境を整える。 (1)RAD Studio XE5 (Delphi XE5)をインストールし起動 RAD Studio XE5 (Delphi XE5) を買う。あるいは30日体験版を入手する。 RAD Studio XE5 (Delphi XE5) をインストールする Delphi XE5 を起動する。 プロジェクトを作成(ファイル−
次のページ
このページを最初にブックマークしてみませんか?
『sakaikの日々雑感~(T)編』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く