izumotto blog

燃えるゴミは火曜と金曜

nasneに3TBは諦めろ

過去3回に渡ってお届けしてきたnasneに関するTips達。

それも今回で最終回です。

総論は記事タイトルに書いてありますね。

 

nasneに3TBは諦めろ です。(チクショウ!!)

 

試行錯誤を振り返ると見えてくる

nasneに3TBのHDDを接続してから、いつのまにやら常態化していた録画エラー。

毎度原因を考え、対策し、改善してきましたが、結局またエラーが起きる始末。

 

なんなんだ!?

原因は こたつ じゃなかったのか!?

はたまた BSアンテナへの電源供給 が元凶じゃなかったのか!?

 

・・・全て違ったようです

 

確かに、試行錯誤した結果として一時的にエラーは発生しなくなりました。

しかし、それこそが混沌としたnasne地獄への入り口だったのです。

 

 

いつもしていた、あの行為

なぜ、電源タップを交換しただけでエラーが消えたのか?

なぜ、設定変更やルータ交換、LANケーブル交換でエラーが消えたのか?

 

これらは全て、エラー解消とは直接関係が無かったのです。

 

では、エラーはなぜ消えたのか。

答えは、要らない録画データを消去したから

 

順を追って説明します。

エラーが再発するようになり、3TBのHDDが原因を疑い始めたころ、エラーの発生に波があることに気づきました。

それは、エラーが1度発生すると、ずっと発生し続けること。

そして、急にエラーが発生しなくなる時があること。(これらの繰り返し)

 

原因を考えました。

考えて考えて考えて、1つの仮説にたどり着きました。

 

3TBのHDDは、録画容量が一定値を超えるとエラーが起きるのでは…?

 

仮説思考 BCG流 問題発見・解決の発想法

仮説思考 BCG流 問題発見・解決の発想法

 

 

疑惑から確信へ

まずは、SonyのPC TV Plusnasneと同じネットワーク上のWindows PCにインストールしました。

このソフトを使うと、PC上からnasneの再生・録画を操作することができるのですが、本家nasneにはない機能「録画先の選択」が実装されています。つまり、「nasne本体へ録画」か「nasneに繋がった外付けHDDへ録画」を、予約時に選択することができます。

その機能を使い、nasneの全ての録画先を「nasne本体」に設定したところ、見事にエラー発生がゼロになりました(14日連続でエラーゼロを確認)。

 

この時点で、エラーの原因は3TBの外付けHDDだと確信。

 

次に、録画先の設定を元に戻し、エラーが再発することを確認したら、nasne内の要らない録画データを一気に削除!

すると、予想通りエラーは発生しなくなりました。

 

そのまま数日間、録画データを削除せずに撮り貯めていったところ、録画エラーが発生そしてエラー継続

 

ここまで確認できたところで、仮説は正しいと判断して検証は終了。

よくよく考えてみると、こたつの時も、BS電源供給の時も、ついでに録画データの中身を整理(つまり削除)してるんですよね〜。予想していなかったとはいえ、原因切り分けをする上では軽率な行動でした…反省。

 

すぐに2TBのHDDを購入し、3TBのHDDはPS3本体に移動torneの外付けHDDとして利用)しました。

 

 

まとめ

  • nasneに3TBの外付けHDDは諦める
  • torneは3TBの外付けHDDに録画できる
  • こたつがtorneにもたらす影響は未知
  • HDDが増えすぎると部屋がくそ暑い

 

玄人志向 HDDスタンド USB3.0接続 KURO-DACHI/CLONE/U3 パソコンなしでHDDのまるごとコピー機能付き

玄人志向 HDDスタンド USB3.0接続 KURO-DACHI/CLONE/U3 パソコンなしでHDDのまるごとコピー機能付き

 

 

 

nasneの再生を安定させる

nasneの記事が続いていますが、今回もnasneの話です。

 

前回の記事nasneのエラーを解消しましたが、実は同じエラーが再発するようになってしまいました。

 

今回は再度エラー解消に向けて設定を見直した話と、モバイル環境からのnasne再生環境を見直した話です。

 

エラーの再発

エラーとは、前回同様

 

チューナーからデータが取得出来なかったため、番組の一部を録画することができませんでした

 

コンセント周りを見直すことでエラーは解消されたのですが、その後1ヶ月経過した頃から再度エラーが発生するようになってしまいました。

 

しかも、ほとんど全ての録画に対して発生しています。

 

このエラーが発生した録画番組は再生時に映像・音声がカクつき、とても観れたものではありません。。

 

原因を探るべく、まずは我が家の録画環境を見直します。

 

f:id:izumotto:20170326135712p:plain

※余計な線は割愛してます

 

 今回の録画エラーは、前回同様torneでのみ発生しており、地デジチューナー経由で録画したものには発生していません。

 

 torneにあって地デジチューナーにない特徴としては、

  1. 3TBの外付けHDDを使用
  2. BS/CS録画が可能
  3. LAN経由で視聴

などが考えられれました。

今回は録画に関するエラーなので、3は可能性から除外します。

次に1ですが、これは時々他のブログ等でも指摘されているようです。個人的にこれが原因だと泣きたくなる信じたくないため、まずは2の可能性を考えることにしました。

 

先の図を見ていただくと気づきますが、特にアンテナ線を分配したりしていないことが分かると思います。

我が家は、地上波/BS/CS混合の線が2つ、壁から出ています(CSは契約していませんが)。

nasne・地デジチューナー・TVそれぞれ混合電波を繋げても問題ない仕様のため、そのまま繋げています。

 

そして、あるきっかけによりエラーを解消できる日がやってきます。

 

テレビぶっ壊れる事件とエラー解消

ある日、テレビがぶっ壊れました

普段通り視聴していたら突然機能停止。二度と映像が映ることはありませんでした。

 

そこでテレビを買い替えることに。地デジ化の頃と比べるとやはり値上がりしてますねぇ。

 

適当なテレビを選び、配達・設置をしてもらいました。

その後、取説等見ながら細かい設定をしていると、あるワードが目に留まります。

 

BSアンテナ電源供給 OFF

 

(あぁ、集合住宅だからOFFでいいな...)

 

そのままスルーしようとした時、脳裏にnasneが浮かびました。

 

nasneもBS/CS観れるからこの設定あるんじゃないか...?)

 

調べました。ありました。

 

nasne HOME > レコーダー設定 > その他の設定 > BSアンテナ給電設定

 

ここがONになっていました

 

そして、すぐにOFFにしました

 

そう、それだけです。

あっさりですが、これをするだけで現状エラーは発生しなくなりました。

同じエラーでも発生原因は色々あるので場合に寄りますが、同じエラーでお困りの場合は一度お試しされるといいかもしれません。

 

更に再生環境を整える

今回はボリューム盛り沢山で読むのも疲れますね。

ここからは、モバイル環境とTV環境とで再生具合が異なる録画データの再生改善をした話です。

 

私はnasneの購入と同時にtorne mobileも導入(500円)しており、PS3torneの他にもスマートフォンタブレットから録画番組を視聴しています。

 

ある日、タブレットで途中まで観た番組の続きをPS3で観ようとした時、映像がカクつき、音声が途切れ途切れになり、とても観れたものではありませんでした。

 

モバイル端末とPS3でなぜ再生状態が変わるのか?
ここからはそんな現象の解決に挑んだお話です。

 

ネットワーク機器の見直し

f:id:izumotto:20170326135712p:plain

今回見直しを行うのは、青線のLANケーブル無線LANルーター

 

つまり、nasneからPS3までのデータの伝送経路を見直すことにしました。

具体的には、それぞれの伝送速度を確認します。

 

まず最初に、tornePS3の仕様について。

我が家のtorne及びPS3は、どちらも伝送速度1Gbpsまで対応していました。

そこで今回は、各機器を1Gbpsに対応させることにします。

 

LANケーブル

ここでは説明のため、nasne-ルータ間のケーブルをnasneLANPS3-ルータ間のケーブルをPS3LANと呼びます。

LANケーブルにはカテゴリーというものがあり、カテゴリー毎に伝送速度は決まっているので、1Gbpsに対応しているカテゴリー6以上のものを使用していれば良いことにします。

 

そして現状は以下の通り。

  • nasneLAN ... カテゴリ5e
  • PS3LAN ... カテゴリ5

 

(うそだろ...っ!!??)

 

残念ながら、嘘ではありません。

カテゴリ5eも1Gbpsには対応しているのですが、今後のネットワーク機器の進化を想定し、より上位のカテゴリ6のLANケーブルを新調することにしました。

Amazonで以下のケーブルを購入。

1m 218円と、家庭に優しい価格で助かりました。
※長さ・カラーで価格が違うので注意

nasneLANPS3LAN用に1mを2本、またPC用に2mを1本購入しました。
(ちなみにPCもカテゴリ5でした。なんなんだ我が家は...笑)

 

無線LANルータ

続いて無線LANルータについて。

まず、現在使用中のルータは以下のものです。

BUFFALO QRsetup 11n/g/b 300Mbps 無線LAN親機 WHR-300HP2

BUFFALO QRsetup 11n/g/b 300Mbps 無線LAN親機 WHR-300HP2

 

BUFFALOのWHR-300HP2です。

以前はもう少し良いものを使っていたのですが、訳あって1年ほど前からこちらを使用していましたが、貧弱そうな雰囲気がプンプンしますね。

メーカーのHPで確認したところ、インターネットポート・スイッチングハブポート共に100Mbpsが最高でした。

LANケーブルを良くしてもそれを中継するルータがこれでは意味がありません。

ということで以下を購入

BUFFALOのWSR-2533DHP、12,000円でした。

 

ぐぬぬぬぬぬぬ(心の叫び)

 

実際、スイッチングハブポートが1Gbps対応のルータはもっと安価なものがありますが、無線LAN親機は最低3~5年は使うと考えると、モバイル周りの進化も見越して11ac対応モデルのこちらを選択しました。

また、ルータ変更ではなくスイッチングハブの購入も考えましたが、諸々考えた結果このルータを購入することにしました。

 

そしてどうなったのか

以上の対策により、nasne-PS3間が規格上1Gbpsで通信されるようになりました。

 

結果は上々

 

現在、モバイル再生とPS3経由のTV再生とで、再生のカクつき等の差が生まれる録画はありません。

※ただし、記事前半で紹介した録画エラーの番組を除く

 

家庭内のネットワークも、ちゃんと伝送速度を考えなければいけない時代がだんだんやってくるのですかねぇ。

リクルート、進化を止めないIT現場力 システム開発 のリアル

リクルート、進化を止めないIT現場力 システム開発 のリアル

 

 

nasneの録画エラー解消への道

前回の記事nasne+3TBHDD環境を整えた話をしましたが、ここ数日録画エラーが頻発するようになったため、そのエラーを解消した話です。

 

2017年3月26日追記:本記事掲載の内容でエラー解消はできましたが、その後しばらくすると再度エラーが発生しました。そのときの解決は次回の記事に掲載しています。

 

nasneのエラー内容

いつものようにtorneのスタート画面を開くと、録画予約の所にエラー有のマークを発見。

 

(毎週録画してる番組が今週は無かったのかな?)

 

中身を確認してみると、エラーの内容は以下の通り。

 

チューナーからデータが取得出来なかったため、番組の一部を録画することができませんでした

 

(ん!?これは初めて見るエラーだ...)

 

実際の録画番組を確認してみると、どうやら最後の5分が切れている様子。これならいいか...と思い再生してみると、映像がカクカク&よく止まる

 

毎週楽しみにしているバラエティー番組(しかも2週連続ものの後編)だったためショックは大きかったですが、致し方なし。見れたものではなかったので、止む無く削除。

 

~数日後~

 

チューナーからデータが取得出来なかったため、番組の一部を録画することができませんでした

 

『なんだとっ!!??』

 

しかも、全ての番組ではなく一部の番組にエラー発生。

最初は諦めていましたが、その後だんだんこのエラーが頻発するように。

 

(これは何か理由があるな...)

 

早速捜査に乗り出しました。

 

踊る大捜査線 コンプリートDVD-BOX (初回限定生産)

踊る大捜査線 コンプリートDVD-BOX (初回限定生産)

 

原因分析

捜査は初動が大切。まずは、いろいろな要素でエラー発生番組とそうでない番組を切り分けてみました。

そして、エラーが発生するタイミングとして分かってきたことは以下の内容。

  • 深夜の番組に頻発
  • 曜日に決まりはない
  • エラーが発生する日は、すべての深夜番組が被害を受けている
  • エラーが発生しない日は、すべての番組が正常に録画できている
  • nasneでの録画番組にだけエラー発生(torneでは発生せず)

ここまで分かった時点で、1つ可能性が生まれました。

 

(もしかして、nasne本体の問題じゃないのでは・・・?)

 

そう、原因は外部にあったのです。

 

考え方と生き方を変える10の法則―原因分析より解決志向が成功を呼ぶ

考え方と生き方を変える10の法則―原因分析より解決志向が成功を呼ぶ

 

解決

外部に要因があると考えた私は、エラーが発生した日(特に時間帯)をよくよく考えてみました。

また、最近になって発生しだしたエラーという点から、最近変化があったことを洗い出してみました。

 

そして導き出した結論。

 

 

 

 

こたつ

 

 

 

 

・・・ん?

と思った方も多いかもしれません。

しかし、導き出した結論は

 

 

 

 

こたつ

 

 

 

 

そう、こたつなんです。

こたつだったんです。

 

我が家で最近変化があり、夜に何をしていたか、よくよく考えました。

その結果、我が家がこたつの使用を始めた頃からエラーが発生しており、且つ、こたつを消し忘れていた日にエラーが発生していると特定できたのです!!!

 

(よく特定できたなと自分でも関心)

 

こたつの消し忘れがなぜnasneの録画エラーに?と思うかもしれませんが、実は我が家では、nasneとこたつを同じ電源ケーブルに繋げていたのです!

 

全て推測の話でしかありませんが、こたつは温度が上昇すると暖めるのを中止し、温度が低下すると再び暖め始めます。

つまりこたつは、電源の使用量が上がったり下がったりを繰り返しており、その際のノイズnasneに影響を与えたのでは!?と考えたわけです。

 

思い立ったが吉日、即日Amazonで以下を購入。

ノイズフィルタ機能が付いた電源タップです。

元値1万円ほどの商品ですが、この記事を書いている時点では約5千円でした(それでも高い...)。

 

nasne及びその他HDD類はこの電源タップに接続し、他の電源とは別コンセントに接続。

これによって、エラーは全く発生しなくなりました。

まさかこたつが録画を阻害するとは…何が起きるか分かりませんね。

 

nasneに3TBの外付けHDDを繋げた話

ずっとPS3+torne+外付けHDD(3TB)だった我が家ですが、満を持してnasne(1TBモデル)を購入!これを機に色々と環境を整理した時のお話です。

 

「とりあえず、メイン機は外からもアクセスできる(但し有料)のnasne

 

というわけで、使っていなかった2TBの外付けHDDを引っ張り出してきて、PS3+2TB、nasne+3TBの環境にチェンジすることにしました。

 

まずはPS3+3TBの話

3TBの外付けHDDをtornenasne環境に持ち込むのは色々と難しいようで、私がPS3+3TBの環境を作る際に参考にしたサイトはこちら。

ここに書いてある通り、Macのディスクユーティリティを使ってフォーマットすれば簡単にできました!(しかも、買った3TBのHDDが上記のサイトと同じモデルだったのでもう勝ちゲーですね)

 

「よし!同じ要領で今回もやるぞ〜!」

 

ちょっと苦労したnasne+3TB

約2.5TBの録画データを1.5TB程に断捨離した後、約60時間かけてHDD(3TB)→HDD(2TB)の移行を済ませたところでいざnasne+3TB環境構築。

とりあえず、3TB君をいきなりnasneに差してみたが、

 

nasne「本機では利用できないハードディスクが接続されています」

 

ぐぬぬ

まぁそんな簡単にできるとは思っていませんよ。

 

次に3TB君をMacBook Airに接続し、さっき紹介したサイトの通りディスクユーティリティを開いて...

......!?!?

 

(ディスクユーティリティのUIが変わっていてよく分からない......!!!!!)

(しかも前やった時のことあんま覚えてない......!!!!!)

 

ちょっとピンチでしたが、ひとまずそれっぽいやつを選びながら、、、

 

1.HDDを選択して、パーティションを選択
 →(あれ、タブって書いてるけどボタンになってる...。まぁいいか)

2.MS-DOS(FAT)を選択
 →(あれ、GUIDなんちゃらを選んでないけど...。まぁいいか)

3.適用を選択
 →(最後パーティションを押すって書いてるけど、そんなのないぞ...あれ、なんかもうフォーマット始まってる...??)

 

とりあえずフォーマットできたっぽいし、パーティションも1つしかないみたいだから、nasneにつなげてみる。

 

nasne本機では利用できないハードディスクが接続されています」

 

ぐぎぎぎぎ

テキトーにやったとはいえ、やはりうまくいかないと気持ちは良くない。

少しネットでディスクユーティリティについて調べると、どうやら「パーティション」ではなく「消去」を選択してフォーマットする例が多く見られる。なるほど。

 

1.HDDを選択して、消去を選択

2.フォーマットでMS-DOS(FAT)を選択

3.方式でGUIDパーティションマップを選択
 →(お!GUIDなんちゃらが出てきた!微妙に名前違うけど!)

4.消去を選択

 

これはキタ!胸躍らせながらnasneに繋ぐ!

 

nasne本機では利用できないハードディスクが接続されています」

 

キィィッッ!!

nasne 1TBモデル (CECH-ZNR2J01)

nasne 1TBモデル (CECH-ZNR2J01)

 

長くなりましたが答え

何度もnasneに嫌われてきた3TB君ですが、最後は無事に結ばれました。方法は以下の通りです。

 

1.HDDを選択して、消去を選択

2.フォーマットでMS-DOS(FAT)を選択

3.方式でマスター・ブート・レコードを選択
 →(上の失敗例ではここでGUID〜を選んだのが間違いだったみたいです)

4.消去を選択

 

これでnasneに接続すると、ちゃんとnasne HOMEに登録ボタンが出現!!

登録したところ、2.7TBとしてちゃんと認識されてる〜涙!

 

というわけで、nasne+3TB環境を整えた時の話でした。

nasne+3TB君についてですが、録画先をnasneにした時に、nasne本体(1TB)に録画されるか外付けHDD(3TB)に録画されるか分からないって点だけが微妙だけど、概ね満足しております。

 

これで外出先からでも録画番組&TV放送が観られるぞ!!(但しWi-Fi下に限る)

イラスト図解式 この一冊で全部わかるネットワークの基本

イラスト図解式 この一冊で全部わかるネットワークの基本

 

 

携帯の長期ユーザーをなぜ優遇するのか

以前書いた「MVNOにしたけど最終的に得も損もしなかった話」が密かに人気らしく、MVNOが気になってる人は多いんだなぁと実感しております。

 

今回はMVNOではなく、MNO(携帯大手3社)の料金についての話です。最近やけに携帯料金に対する批判が強くなっていますよね。特によく取り上げられるのが、

「長期ユーザーを優遇しろ!!!」

という意見です。この意見、個人的には「うーん?」と首をかしげてしまうのですが、それについて書きたいと思います。

 

携帯料金に対する個人的意見

最初に私の個人的な意見を書いておきます。私は現在auを使用していますが、月々の支払いは約9,000円。いやぁ、高いです。

9,000×12=108,000円

1年間で10万円以上払っていると考えると、ちょっとでも安くしたいと思っちゃいますね。

 

世論「長期ユーザーを優遇しろ!」

では本題です。最近、携帯大手3社に対して風当りが強くなっていますね。

「俺はauを10年以上使っているんだぞ!!なんで安くしないんだ!!!」

みたいな意見が飛び交っています。

 

正直、何を言っているのか訳わかめです。

 

どうしてこんな話が当たり前のように議論されているのか本当に不思議なんですが、一体どういうスタンスで言っているんでしょうか。

 

八百屋「お客さん、いつもありがとね!今日もまけとくよ!」

みたいな感じで

au「お客さん、10年も使ってくれてありがとね!今月もまけとくよ!」

って言ってくれるのを期待してるってことでしょうか?

 

そもそも、長期ユーザーを優遇するって、何ですか?

 

長期ユーザーだから優遇してもらっているサービスって、何ですか?

 

私には、毎月お金が掛かるようなサービスにおいて、長期ユーザーだからと優遇してもらった経験がないので分かりません。

私がまだまだ半人前だから、そのような経験がないだけなのかもしれません。

 

でも、携帯電話に文句を言う人が、他のサービスに対して文句を言っているかというと、あまり想像できません。

例えば、東京電力にも文句を言っているんでしょうか?

 

電気の例は、まだ自由化が始まったばかりなので、もしかすると将来的に文句の輪が広がるかもしれません。

でもやっぱり言いたい。

 

長く使ってるから安くしてもらえるものって、何?

 

1年目の新人と、10年目のベテランが、全く同じサービスを受けるのに料金が違うものって、何?

 

私にはこれが分からないのです。

 

長期ユーザーの優遇なんて要らない

そのようなものは要らないんですよ。

私が通信サービスを利用して、その利用に見合った対価として料金を支払う。

「見合った」と思える料金なら良いわけです。

 

長年契約しているから安くしてもらおうなんて、正直虫がいい話だと思います。

 

ただし、今の現状は携帯電話業界の犯したミスだと思っています。

私は今の携帯電話業界を、マクドナルド化と勝手に呼んでいます。

例えスタバのコーヒーであっても、マクドナルドで提供したら100円の価値にしかならない(かもしれない)のです。

低価格商法や過大割引等の価格競争を行ってしまった次第、庶民の価値観を変えることは並大抵ではできません。

 

携帯電話各社には、長期ユーザー優遇の声に耐えながら、別の方法でユーザーからの支持を取り戻すことを期待しています。

 

 

Rのread.tableで起きた特定行へのエラー

最近R言語を使い始めました。

 

主にネットワーク解析を行っていまして、データをRに渡す際にtxtファイルやcsvファイルを使うのですが、今回はtxtファイルをread.tableで読み込む際に起きたエラーの話。

 

データの構造

今回はネットワーク構造、具体的にはエッジの情報をファイルから渡すため、txtファイルの中身は以下のような構造をしています。

 

ノードA1 ノードB1 エッジの重みW1
ノードA2 ノードB2 エッジの重みW2
 …

※ 見やすいため全角スペースを使っていますが、実際は半角スペース区切りです

 

このようなデータを読み込ませる際のプログラムは以下。

 

d <- read.table("data.txt")

 

シンプルです。

これを有向グラフとし、エッジの重みを付加させる場合は以下。

 

g <- graph.data.frame(d[1:2], directed=T)
E(g)$weight <- d3

 

今までこれでやってきました。 

はじめてのR: ごく初歩の操作から統計解析の導入まで

はじめてのR: ごく初歩の操作から統計解析の導入まで

 

特定の行に対するエラー

そして、いつものようにデータを読み込ませようとした時、このエラーが現れました。

 

scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, でエラー:
 6761 行目には 3 個の要素がありません

 

なぬ?

 

実は、ノードには日本語が含まれており、txtファイルの時点で日本語が文字化けしている場合が今までもありました。

でも今回は、6761行目を確認しましたが、ちゃんと要素は3つあるんです

 

うーむ...

 

とりあえず、6761行目を取り除き、行を1つ詰めてから再びread.tableしました。

 

scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, でエラー:
 6761 行目には 3 個の要素がありません

 

なんだとっ!?

 

6761行目がエラーだと言うから6761行目を取り除いたのに、新人の6761行目もエラーだと!?

こうなったら力技。

6700行目辺り〜6800行目辺り全てを取り除き、再度read.table!

 

scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, でエラー:
 6761 行目には 3 個の要素がありません

 

お手上げです。

 

これはもう、6761行目にあるデータに問題があるとは思えません。

きっと、どこかの行の何かのデータが悪さして、それが6761行目にしわ寄せされているんだろう(予想)。

Rによるデータサイエンス-データ解析の基礎から最新手法まで

Rによるデータサイエンス-データ解析の基礎から最新手法まで

 

解決策

いろいろ試行錯誤しましたが、最終的に以下のread.table文で読み込みに成功しました!

 

d <- read.table("data.txt", sep=" ", quote="", comment.char="")

 

これは、

  • sep=" " :区切り文字は半角スペースだと明記
  • quote="" :引用文字は使っていないことを明記
  • comment.char="" :コメントは使っていないことを明記

という3明記をすることで、無事に読み込み成功しました。

いろいろあるんですね〜。

ちなみに、sep=" "だけを指定で8954行目にエラー、quote=""を追加すると17480行目にエラーが出て、最後にcomment.char=""を追加で通りました(笑)

 

だいぶ心が折れそうでしたが、なんとか折れずに頑張れそうです。

 

「折れない心」をつくるたった1つの習慣 (プレイブックス 919)

「折れない心」をつくるたった1つの習慣 (プレイブックス 919)

 

 

MacBook ProとMySQLの組合せでハマった話

普段はMacBook Pro(以下、MBP)をメインに使っています。

MBPに入れているMySQLをずっと動かしていたのですが、設定ファイル変更等のためターミナルからmysql.server restartを実行したところ、

 

ERROR! The server quit without updating PID file (*****.pid)

 

と表示され、MySQLが起動しなくなってしまいました。

このような場合、The server 〜 PID fileGoogleで検索して同様のエラーとその対処法を探していく...のですが、ここでドツボにはまりました。

こちらのブログにも書かれていますが、上記のエラー文でググってみれば、原因・解決方法が多様なエラーだということが分かります。

 

私の場合

不要なプロセスをkillするだとか、PIDファイルやその周辺の所有権をいじってみたりだとか、検索で上位に出てくるものは(私の場合)ハズレでした。

 

私の場合、MBPが接続しているネットワークが変わったことが原因でした。

 

ネットワークが変わったとは、MySQLの起動時(mysql.server start)と終了時(mysql.server stop)に、別のネットワークに繋がっているということです。

実は、MacMySQLそれぞれの仕様が連鎖して起きたエラーだったのです。

 

 

原因1. MySQL起動中のMBPを別ネットワークに繋ぎMySQLを終了させる

これは、ノートパソコンだからこそ起きやすかったのかもしれません。

例えばMySQLを自宅で起動させ、職場・学校・カフェなどのネットワークで終了させようとすると、次の問題へ繋がります。

 

原因2. Macのローカルホスト名が変更される

以下の記事を参考にさせていただきました。

ざっくり言えば、繋げているネットワークが変わる(自宅→職場 や 学校→テザリング)と、Mac本体内で使用するローカルなホスト名が変更になる場合があるということです。

ローカルホスト名が変更になったところで、次の問題へ進みます。

 

原因3. MySQLのPIDファイルのファイル名が変わる

先のエラー文には、PIDファイルのファイル名も書かれていましたが、実はこのファイル名にローカルホスト名が使われています。

そのため、自宅で起動したMySQLが作るPIDファイル(例:home.local.pid)と学校で起動したMySQLが作るPIDファイル(例:school.local.pid)が異なることになります。

 

結果 MySQLはPIDファイルを見失う

上記の例を使うと、自宅で起動したMySQL(このときhome.loca.pidを作成)を学校で終了させようとした時、MySQLは存在しないschool.local.pidを探そうとするため、上述のエラーが発生していました。

 

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

 

 

防止方法

以下の記事を参考に、ローカルホスト名を固定化することで再発を防止できました。

ちなみに私は、仕方なくMySQLを再インストールすることにしました。データベースを約半分失いましたが、勉強料ということで...

いや〜、ローカルホスト名がコロコロ変わるのも、ローカルホスト名をフェイル名に使用するのも、控えてほしいなぁ...

 

Apple iPod shuffle 2GB 第4世代 2015年モデル ブルー MKME2J/A

Apple iPod shuffle 2GB 第4世代 2015年モデル ブルー MKME2J/A