コトハノチカラ

ビジュアル的センスが0の左脳人間が、
どこまで言葉だけで自分を表現できるか、
やれるとこまでやってみるブログです。

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

MySQLに音楽ファイルをインストールする

2009-10-21 11:10:10 | ITなお話
現在、いわゆるLAMP環境にてWebページの作成をしている。

そこで、音楽ファイルをMySQLにインストールする必要が出てきてしまった。

色々と面倒なこともあったので、ここで大公開しちゃいます。


まずはHTML側にて、以下のように記述。
<form enctype="multipart/form-data" action="hoge" method="POST">
<input type="file" name="data">
<input type="submit" name="btn_upload" value=" アップロード ">
</form>

PHP側はこんな感じ。
$fp = fopen( $_FILES['data']['tmp_name'], "rb" );
if ( $fp == FALSE ) {
die( 'アップロードしたファイルを開けません。' );
}
$Data = fread( $fp, filesize( $_FILES['data']['tmp_name'] ) );
fclose( $fp );

あとはこの$Dataを該当のテーブルにインサートするだけなのだけど、早速エラー発生。
どうもPHP側にてアップロードするファイルのサイズに制限をかけているらしい。

というわけで、php.iniを修正。
upload_max_filesize = 10M

これでいけるかと思いきや、またもエラー発生。
さらに調べてみると、今度はMySQLのほうで、ファイルサイズの制限があるらしい。

これも設定ファイルmy.cnfを書き換えればいいらしいのだけど、どこを探してもmy.cnfが見つからない。

う~む・・・

さらに調べてみると、どうやらこのMySQLの設定ファイルは、自分で作成するものらしいのだ。
というわけで、以下の場所にmy.cnfを作成。
/usr/local/mysql/var

my.cnfの中身はこんな感じ
[mysqld]
set-variable = max_allowed_packet=10M

この設定が反映されているかどうかは、MySQLにて以下のように入力するとわかるらしい。
SHOW VALIABLES;

ズラズラと設定一覧が表示されるのだけど、肝心のmax_allowed_packetの値が1048576。
1Mってことだから、反映されていない。

やっぱり設定ファイルを修正したわけだから、MySQLを再起動しないといけないのだろう。

だけど、MySQLの再起動ってどうやってやるんだ?

/etc/init.d/の中には、mysqlは存在しない。

色々調べてみたところ、mysql.server stopとやるのが正解らしい。
/usr/local/mysql/share/mysql/mysql.server stop
/usr/local/mysql/share/mysql/mysql.server strt

これで再起動成功。

先ほどの要領で設定が反映されているか調べたところ、以下のように表示された。
max_allowed_packet | 10485760

ばっちり10M。

これで再度試したところ、しっかり音楽ファイルのインサートができました~♪

いや~、結構苦労したけど、色々勉強になりましたとさ。

ジャンル:
ウェブログ
コメント   この記事についてブログを書く
« 不安的中・・・ 自宅サーバ... | トップ | EeePc S101購入 »
最近の画像もっと見る

コメントを投稿

ITなお話」カテゴリの最新記事

関連するみんなの記事