<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ミネルヴァの梟は黄昏とともに飛び始める &#187; MySQL</title>
	<atom:link href="http://blog.daisukeyamashita.com/post/category/%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e9%96%8b%e7%99%ba/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.daisukeyamashita.com</link>
	<description>Follow me on Twitter: http://www.twitter.com/dddaisuke</description>
	<lastBuildDate>Mon, 30 Jan 2012 04:18:31 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SunがOracleに買収される！</title>
		<link>http://blog.daisukeyamashita.com/post/659.html</link>
		<comments>http://blog.daisukeyamashita.com/post/659.html#comments</comments>
		<pubDate>Tue, 21 Apr 2009 01:13:34 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=659</guid>
		<description><![CDATA[　しかし、Oracleは買収がめっちゃうまいね。うちの会社にもIBMでDB2周りをやっていた人がいるんだけど、DB業界の人に言わせると、（DB業界の）かなりいい会社を買収して、うまいこと立ちまわっていると言う。 　たしかに、IBMのDB2やMicrosoftのSQL Serverはどちらも、大企業の一事業でしかないので、両社が他の事業の収益を回して、Oracleを叩きつぶすために格安でDBを提供する戦略をとれる（やっている？）にも関わらず、OracleはDB事業を会社の中核に据え、しかも超高収益企業としてIBMやMicrosoftに打ち勝っている。 　日本でも高配当企業として有名ですが、今までソフトウェアしかやってなかった会社だけに、世界第４位のサーバー企業を手に入れたのは面白いですが、ハードウェア事業は一歩間違うと不採算事業になりかねないので、ぜひともハードウェアに走りすぎずに、高収益体制を守ってほしいと思います。 　とりあえず、うちとしては、MySQLとJavaの行方が心配です。。。当面は、Sunを子会社としてブランドを残すんですかね？]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/659.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Databaseの移動</title>
		<link>http://blog.daisukeyamashita.com/post/417.html</link>
		<comments>http://blog.daisukeyamashita.com/post/417.html#comments</comments>
		<pubDate>Fri, 27 Jun 2008 13:32:05 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[サーバー運用]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=417</guid>
		<description><![CDATA[　以前から放置していた、社内ブログ（wordpress）のDB（MySQL）を移行したのですがめちゃくちゃハマりました。 　もともとそのサーバには、他にもサービスが同居していた事もあり、MySQLにメモリを多めに割り当てていたのですが、そのサービス達も別のサーバに移行したため、ブログのためだけに大量のメモリを確保するDBが存在する事になってしまいました。 　データセンターに太い回線を引き込んでいる共用のDBサーバがあるので、ブログのDBもそちらに移行する事に決定。 　まぁ、DBの移行だからすぐに終わるだろうと思い、DBのダンプをとり、共用DBにリストア。さらにアクセス用のアカウントを作成。コンソールからネットワークを超えてアクセスしようとすると、反応が返ってこない。 　明らかにファイアーウォールでブロックされている感じなので、そのサーバ群を設定した担当者に確認すると、（ラック内のサーバ群は、ネットワークポートが２つあり、ラック内はLANとしてアクセスできる一般的な構成で）グローバル側からは、MySQLのアクセスを拒否しているとの事で、ローカルのIPを教えてもらう。 　ついでに、彼が過去に同じ作業をしようとしてなぜか上手くいかなかったというありがたいオマケ情報も。。。 　ローカルIPを使用して、コンソールからネットワークを超えてDBに接続できる事を確認。wordpress の wp-config.php 中に書かれている DB_HOST にローカルIPを指定するも「Error establishing a database connection」エラー。 　ちょっと、ネットを調べると、「Client does not support authentication protocol エラー」というトラブルが発生する事があるとのこと。これは、認証用のパスワードの暗号化方法がMySQL 4.1.1から変更されたことに起因する問題らしい。 　一応、両方サーバ共MySQLのバージョンが同じでPHPも新しいのですが、ものは試し。。。 mysql> UPDATE user SET Password = OLD_PASSWORD(&#8216;mypass&#8217;) -> WHERE Host = &#8216;some_host&#8217; AND User = &#8216;some_user&#8217;; mysql> FLUSH PRIVILEGES; 　が、エラー。もとに戻す。 　wordpressのバグかもしれないので、最新のwordpressを設定。アクセスしようとすると、fobidden。「ああ、SELinuxか」と、ラベルの設定。ウェブは表示されたが、同じくコネクションエラー。 　テスト用に以下のようなコードを用意。 [PHP] < ?php $db = @mysql_connect('ホスト名', 'ログイン名', 'パスワード'); [...]]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/417.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EJB（CMP）でBlobデータを扱う方法</title>
		<link>http://blog.daisukeyamashita.com/post/327.html</link>
		<comments>http://blog.daisukeyamashita.com/post/327.html#comments</comments>
		<pubDate>Tue, 22 Apr 2008 11:43:17 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[ソフトウェア開発]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/post/327.html</guid>
		<description><![CDATA[　久しぶりにハマりました。 　今まで、SOBA CITYやSOBA mierukaで利用するバイナリデータはディスクスペース（Apacheアクセス領域）で管理していたのですが、データ自体をデータベースで取り扱うようにした方が、管理が楽になるのと、あまり難しい事を考えずにクラスタリングできるようになるとの理由から、バイナリデータをデータベースに押し込む事にしました。 　まず、データをDBに押し込む事は難なくテーブルにBLOB型のカラムを用意してやり、JDBC経由でDBに押し込む。サンプルは、SOBAフレームワークで利用するキーストアをDBに押し込むコード片です。 String sql = &#8220;INSERT INTO keystore2s (id, sessionKsr, sessionTks, userKsr, userTks) &#8221; + &#8220;VALUES (?, ?, ?, ?, ?)&#8221;; PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, strId); ps.setBinaryStream(2, sessionKsr, sessionKsr.available()); ps.setBinaryStream(3, sessionTks, sessionTks.available()); ps.setBinaryStream(4, userKsr, userKsr.available()); ps.setBinaryStream(5, userTks, userTks.available()); ps.executeUpdate(); 　昔、hibernateが出たての頃にプリミティブ型で表現できないような型はすべてObjectにしかマッピングできなかったという嫌な記憶があり、EJBでもBlob型はObject型にマッピングするのだと勝手に思い込み、実行時に以下のようなマッピングエラーに遭遇し調査に時間がかかりました。 java.sql.SQLException: Unable to load to deserialize result: java.io.StreamCorruptedException: invalid stream header [...]]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/327.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQLがSunに買収！</title>
		<link>http://blog.daisukeyamashita.com/post/276.html</link>
		<comments>http://blog.daisukeyamashita.com/post/276.html#comments</comments>
		<pubDate>Thu, 17 Jan 2008 01:42:40 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/post/276.html</guid>
		<description><![CDATA[　MySQLは、これまでBenchmark、Index、IVP、Intel、SAPから3900万ドルを調達しており、IPOを目指しているらしいというのは、風の噂で周知の事実であったが、1/16にSun MicrosystemsがMySQLを10億ドルで買収したことが明らかになった。 　個人的には、MySQL Clusterの開発が加速されるとうれしいです。有償でもいいから、便利な管理ツールとかもリリースされるといいなぁ。]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/276.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQLでコネクションが切れる問題</title>
		<link>http://blog.daisukeyamashita.com/post/137.html</link>
		<comments>http://blog.daisukeyamashita.com/post/137.html#comments</comments>
		<pubDate>Fri, 20 Jul 2007 03:39:56 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.com/?p=137</guid>
		<description><![CDATA[そういえばJDBCで長時間放置しているとコネクションが切れる問題を解決したのをスッカリ忘れていました。 MySQLは8時間通信が無いと、コネクションを切るそうなのですが、JDBCの設定でautoReconnect=trueを設定しておけば問題無いハズなのですが、今回はなぜかautoReconnect=trueの設定をしても再接続されずに3日ほどドツボにハマッておりましたが、結局プログラムで例外をキャッチしてリトライさせる方法で解決しました。 &#8212;&#8211;2009/04/28追記&#8212;&#8211; ConnectionPoolingを利用している場合、以下の設定もご確認下さい。 autoReconnectForPools=true JDBCが3.2系の場合、以下のプロパティをtrueにする必要があります。3.3系からはautoReconnectの機能が削除されています。 enableDeprecatedAutoreconnect=true MySQL公式リファレンス：Connector/J の Driver/Datasource クラス名、URL シンタックス、および構成プロパティ]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/137.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDBCのコネクションが切れる</title>
		<link>http://blog.daisukeyamashita.com/post/113.html</link>
		<comments>http://blog.daisukeyamashita.com/post/113.html#comments</comments>
		<pubDate>Tue, 26 Jun 2007 02:42:22 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.jp/?p=113</guid>
		<description><![CDATA[　最近作成したプログラムで、一晩放置するとなぜか、コネクションが切れるという問題が発生。サーバを構築したのが私ではないので、どこか設定に問題があるのだろうが、ちと調査が大変だ。 →解決方法 &#8212; Check the SQL Statement (preparation failed). &#8212; Cause: java.sql.SQLException: No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error: ** BEGIN NESTED EXCEPTION ** com.mysql.jdbc.CommunicationsException MESSAGE: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.io.EOFException STACKTRACE: java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1905) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2351) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2862) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571) [...]]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/113.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQLのレプリケーション</title>
		<link>http://blog.daisukeyamashita.com/post/44.html</link>
		<comments>http://blog.daisukeyamashita.com/post/44.html#comments</comments>
		<pubDate>Thu, 26 Apr 2007 08:33:59 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.jp/?p=44</guid>
		<description><![CDATA[　世の中にあるデータベースの多くにはレプリケーションと呼ばれる、負荷分散の仕組みが備わっています。 　オープンソースのMySQLにも、この機能が備わっており、コストを掛けずに負荷分散をする事ができます。 ◆レプリケーションの設定方法◆ 　レプリケーションの設定は、それほど難しいものではありません。過去にMySQLを利用した事があれば、簡単に設定することができます。 １．すべてのMySQLサーバ上で、レプリケーション用のアカウントを作成します。 mysql> GRANT AREPLICATION SLABE, REPLICATION CLIENT ON *.* TO replication@&#8221;192.168.1.0/255.255.255.0&#8243; IDENTIFIED BY &#8216;PASSWORD&#8217;; ２．すべてのサーバのmy.cnfに下記の設定を記述します。 [mysqld]セクションに下記の行を追加する。log-binは、log-bin=/var/･･･でパスとファイル名を指定できます。 log-bin server-id=1 &#8212;&#8211; スレーブ側の設定は下記の通りです。 server-id=2 master-host=master.test.com master-user=replication master-password=password master-port=3306 ３．マスターを再起動して、バイナリログが作成された事を確認します。 ４．スレーブを再起動して、レプリケーションが働いていることを確認します。 ログファイルを参照すると、レプリケーションを開始した旨のログが出力されています。]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/44.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Cluster</title>
		<link>http://blog.daisukeyamashita.com/post/7.html</link>
		<comments>http://blog.daisukeyamashita.com/post/7.html#comments</comments>
		<pubDate>Tue, 03 Apr 2007 03:06:45 +0000</pubDate>
		<dc:creator>daisuke</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.daisukeyamashita.jp/?p=7</guid>
		<description><![CDATA[　MySQLには、MySQL Clusterというクラスタリング技術があり、弊社でも導入を検討していたのですが、調べてみると、この技術はオンメモリでしか使えない技術である事が分かり、ダメじゃん！という事になりました。 　今回、導入を検討していたシステムはWebシステムだったので、DNSラウンドロビンとマルチマスタレプリケーションの合わせわざで、高可用性を実現しました。]]></description>
		<wfw:commentRss>http://blog.daisukeyamashita.com/post/7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

