SSH経由でMySQLを接続する方法(SSHポートフォワード)


こんばんは、さすがに眠くなってきた@9ensanです。

サーバー環境にMySQLは入っているがphpMyAdminをインストールしたくないし、危険だからMySQLのポートなんか開放したくないと言う時に便利なのがSSHのポートフォワード機能。

 

何が便利なのかというとSSHのポートフォワード機能を利用すると、ローカルの任意のポートに来たデータを、サーバー側の指定したポートへ転送することが可能です。

要するにサーバー側にSSHでログイン出来る環境さえあればクライアントからSSHを経由してMySQLに直接つなぐ事が出来るということです。

 

ですので、この機能を使えば「Sequel Pro」のようなGUIベースのMySQLクライアントアプリを利用して、サーバーのMySQLを操作する事も可能なのです。

(こんな事しなくても、Sequel Proには元々ポートフォワードが簡単に出来る機能がついてますが…。)

 

どのようにするかというと

ssh -i ~/.ssh/id_dsa test@test.com -p 22 -g -N -f -L 12345:localhost:3306

これで、ローカルの12345番ポートへの通信がSSHを介してtest.comの3306番ポートに転送されるようになります。

 

なので、

mysql -uroot -p -h 127.0.0.1 –port=12345

このようにMySQLで接続するとサーバ側のMySQLに接続されます。上手く接続されていれば成功です。

 

SSHオプションについて

もう少し、SSHコマンドのオプションを説明すると

-i SSHの鍵のパスを指定
-p SSH接続時のポート番号
-g 他のマシンから転送ポートへのアクセスを許可する
-N ポート転送を行う
-f バックグラウンドに移行する
-L 転送するポート:ssh接続先から見たアドレス:転送先のポート

ちなみに、「-L」はローカル側の任意のポートをssh接続側へ転送するオプションでしたが

「-R」を使用すると逆にサーバ側の任意のポートをローカル側の特定のポートに転送することが可能になります。

 

これもよく使うのですが忘れるので備忘録がてらに書きました。

FuelPHPで使用しているバージョンを確認する方法


こんばんは、@9ensanです。

FuelPHPを利用している時にどのバージョンを利用しているのか確認する方法です。

 

php oil -v

 

よく忘れるのでこのコマンドを忘れないように書いておきました。

Google AnalyticsとAdsenseをリンクする方法


こんにちは、最近寒くなってきて風邪気味の@9ensanです。

 

Google AnalyticsとAdsenseをリンクさせた時に2日間ぐらい悩んで解決したのでその解説

Google AnalayticsでAdsenseのリンクをクリックしても、下記のように

 

「このレポートを使用するには、このプロファイルに対して AdSense を有効にする必要があります。」

 

と表示されてリンクが表示されない場合があります。

これは、AnalyticsアカウントとAdsenseのリンク設定が正しく行われていない事が原因です。

まず、前提条件として重要なことですが

1つのAdsenseアカウントには1つのAnalyticsアカウントしかリンクさせる事はできません。

この前提条件は、2012年06月01日現在では変更できません。

 

Analayticsアカウントをたくさんつくっていて、1つのAdsenseアカウントを紐付けようとすると無理なのです。

まずは、ここを整理する事がから考えましょう。

 

私の失敗例

私の場合、下のようにドメイン毎にアカウントを作ってしまい、でもAdsenseは1つで運用していたのでこの時点でもう上記ルールと合わないので無理ということになります。

 

となると「プロパティ」を移動させたいと思うのですが、これが調べるとどうもできない見たいなので、過去の情報は諦めて新しくプロパティを作成します。

 

既にリンク済みのアカウントがあったら、そのアカウントに新しいプロパティを作成します。

既にリンク済みの場合のプロパティの追加手段を以下に記載します。

 

Adsenseにリンク済みのアカウントにプロパティを作成する。

1.まず、右上のアナリティクス設定を押下します。

 

2.「アカウントの管理」が表示されたら対象のアカウントを選択します。

 

3.選択したアカウントのページが表示されたら、「+新規プロパティ」をクリックします。

 

4.「プロパティ名」「ウェブサイトのURL」「業種」「タイムゾーン」を設定して「プロパティを作成」を押下します。

 

そうすると、すでにアカウントにAdsenseがリンクされていたので、このプロパティのAnalytics画面にもAdsense情報がリンクされます。

 

要するに重要なのは

「1つのAdsenseアカウントは、1つのAnalyticsアカウントにしかリンク出来ない」

これさえ、理解していれば迷う事は無いと思います。

TitaniumでAndroidのキャリア判定する為のモジュールを作成


 

Titanium Mobileでプログラムを作っていて、Androidのキャリア判定をしないといけない事が発生。

Webviewアプリなので、Web側でUserAgentで判定という方法もあったのですが、

色々調べてみたらAndroidのUAでの判定は、全機種名を登録して増えるたびに増やさない?

という結論に至り(これは、間違いで簡単に判定する方法があるのかもしれません)

 

Androidの方でSIMの情報から判断した方がメンテナンスも必要なく簡単だし確実なようなので、とりあえずAndroidで実装してTitaniumのモジュール化すると

それがこちら

 

これを対象のTitaniumアプリで使用する方法はこんな感じ

 

手元に、AUとDocomoしかないので、Softbankが果たしてどういう名前で出てくるのか不明ですが。

こんな感じで使用でます。

 

もしかしたら、既にありそうというより本家でもありそうなのですが見つからなかったのでつくってみました。

こっちの方がいいよとかあれば教えてもらえたらと思います。

NAS(ネットワークHDD)の購入を検討している人は(LS-V2.0TLJ)をオススメします


こんにちは@9ensanです。

 

今回は、ノートパソコンのHDDも空き容量が無くなってきて、外付けハードディスクまたは、NAS(ネットワークHDD)を購入検討して、こちらの商品「Buffalo NAS(ネットワークHDD) LS-V2.0TLJ」

を購入しました。

 

設置して使ってみてビックリ、NASはやっぱり高性能ですね。

普通に中でLinuxが動いてんだろうなと思いました。

 

このNASのいい点ですが、

  1. 外出先からでもNASへの接続が可能
  2. MacのTimeMachine用のバックアップ先に選択出来る
  3. iTunesサーバに設定出来る
  4. iPhone,iPad,Androidからも直接接続できる

などです。

 

 

ここに記載した内容は私が使いたいと思った機能で、実際にこのNASの持っている機能のごく一部です。

詳しく機能を知りたい方は、「BuffaloのLS-VLシリーズのページ」を御覧ください。

 

 

また、ドキュメント類も公開されていますので、必要な機能があるかどうか確認して見るのもいいと思います。

 

久しぶりに購入して本当によかったと思える商品でした。

 

return top