12月 08

mysqlパーティショニングのまとめ① – 設定・再コンパイル


mysqlパーティショニングのまとめ① - 設定・再コンパイル
mysqlパーティショニングのまとめ② - パーティショニングのタイプ
mysqlパーティショニングのまとめ③ - パフォーマンス

mysqlのパーティショニングを試してみたかったが、
私のmysqlではパーティショニングが使えなかったようなので
今日はmysqlパーティショニングの再コンパイルについて

まずは、mysqlのパーティショニングが使えるかどうか調べる。

mysql> SHOW VARIABLES LIKE '%PARTITION%' ;
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| have_partitioning | YES   |
+-------------------+-------+
1 row in set (0.01 sec)

上記のようにhave_partitioningがYESとなっていたら、パーティショニングが使用可能である。
私は使用不可であったので、再コンパイルしなければならない。

まずは念のためmysqlをストップ

/usr/local/mysql/share/mysql/mysql.server stop

*パスは各自のパスをご確認ください。

以前のコンパイルオプションに

--with-ndbcluster--with-partition

をつけて

make
make install

で再コンパイル完了。
ちなみに、以前のコンパイルオプションは
mysqlのソースがはいっているディレクトリに移動して

grep "$ ./configure" config.log

とでも打てばいいだろう。

あとはmysqlを起動して、パーティショニングが使用できることを確認できればOKだ。

/usr/local/mysql/share/mysql/mysql.server start

[おまけ]現在の私のオプション

--with-charset=utf8
--with-extra-charsets=all
--with-mysqld-user=mysql
--with-innodb
--with-falcon
--with-maria
--with-heap
--with-myisam
--enable-local-infile
--prefix=/usr/local/mysql
--with-unix-socket-path=/tmp/mysql.sock
--with-ndbcluster
--with-partition
--with-blackhole-storage-engine

いろんなストレージを試してみたい。

written by YSU \\ tags: , , ,

11月 29

phpを再コンパイルしてたら以下のエラーがでた。

/usr/bin/ld: cannot find -lltdl

追加したオプションでなにかひっかかったのか?
ググッてみたら以下でよいとのこと

yum install libtool-ltdl libtool-ltdl-devel

解決に結構時間がかかったので、残しておく。

written by YSU \\ tags: ,

11月 28

ふと、シェルを調べてみたら

echo $SHELL
/bin/bash

defaultのbashだった。
bashじゃなんとなく嫌なので会社と同じtcshに変更しようとおもう。
(こういうのって本当はもっと早くやるべきなんでしょうね)

普通にシェルを変更しようと

 chsh -s /bin/tcsh
morinoyumeのシェルを変更します。
chsh: "/bin/tcsh" は存在しません。

tcshって標準で入っていないことが判明!
会社では普通に使っていたからデフォルトで入っているかとおもった。
インストール方法を調べるもこういう超基本的な導入系って中々でてこない・・・
とりあえずyumでコマンド打ってみる。

yum -y install tcsh

お、インストールできたっぽい!
簡単だね。

あとはログイン時のシェルも書き換えたいので、

chsh
morinoyumeのシェルを変更します。
新しいシェル [/bin/bash]: /bin/tcsh
シェルを変更しました。

これでログインしなおせばOK!
あとは自分の好き放題に/home/morinoyume/.cshrc
を修正すればOK!

やっぱ使い慣れているシェルがいいですね♪

written by YSU \\ tags: ,

10月 14

こちらのブログではないが、別で構築中のwordpressでやたらと「404 Not Found」がでてしまった。
原因はwordpressが同ディレクトリ内に.htaccessが作れなかったことが原因。
apacheを動かしているユーザーでも書き込める権限をドキュメントルートに設定する必要がある。

例えば、下記の場合。
apache実行ユーザー:www
wordpressのディレクトリ:/www/wordpress/

chmod -R 744 /www/wordpress

などとして、apache実行ユーザーに書き込めるようにする。
そして、パーマリンク設定後に同ディレクトリ内に.htaccessができていればOK。
私はwordpressの設置を全部rootユーザーで行ってしまったため、apacheの実行ユーザーがwordpressのディレクトリに「.htaccess」を書き込めていなかったのが原因であった。

なぜ.htaccessが必要かというと、wordpressはapacheのmod_writeという機能を必要としているが、
そのmod_writeのconfigが.htaccessに記述されるためである。

ちなみに、上記でも解決できない場合はapacheのmod_writeの設定が上手くいっていない(インストールされていない)可能性があるので、そしちらを疑ってみよう。

  [apacheまでのパス]/bin/apachectl -l

上記コマンドを実行して、mod_rewrite.cが無ければmod_writeの設定が上手くいっていない。
mod_writeについては(自分もよくわからないのでw)割愛する

written by YSU \\ tags: ,

5月 30

久々の投稿。
最近、暖かくなってきて休日は外にいることが多かったので、
なかなかサーバーをいじる時間がなかった・・・。

さて、突然mysqlが起動しなくなった。

Starting MySQL.Manager of pid-file quit without updating file

原因はいろいろあるらしいが、
今回はmy.cnfの記述ミス。
というより、mysqlの実行ユーザーを変えたことによる影響。

my.cnf

user=hogehoge

そのユーザーがmyslを実行する権限がなかったのが問題。
以下で解決。

choown -R hogehoge:hogegroup /usr/local/mysql

今回は記述ミスというより、
記述を変更したことによる影響であったが、
上記のエラーがでるようであれば、my.cnfの設定をまず疑ってみよう。

written by YSU \\ tags: , ,

4月 21

先日、mysql6.0をインストールした。
mysqlを入れたからにはphpmyadminを使いたいので、phpのインストールをする。
めんどくさいからyumで。

yum update
yum -y install php php-mbstring

こんだけ。
バージョンの確認。

php -v

記事にするほどでもなかったか・・・。

written by YSU \\ tags: , ,

4月 20

タイトルのとおり、myql6.0をインストールしてみた。
まずは、rootになっておく。

su - root

そして、mysqlの取得。最新版は(http://dev.mysql.com/downloads/)でチェック。
場所は、/usr/local/src/が適当だと思われる。

cd /usr/local/src/
wget http://dev.mysql.com/get/Downloads/MySQL-6.0/mysql-6.0.10-alpha.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/

ダウンロードできたら、解凍と対象ディレクトリに移動

tar xvzf mysql-6.0.10-alpha.tar.gz
cd mysql-6.0.10-alpha

次にconfigure。

./configure --help

とやるとconfigureオプションが見れる。よくわからない。
とりあえず今回は下記のオプションで。

./configure --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=root --with-innodb --with-falcon --with-maria --with-heap --with-myisam --enable-local-infile --prefix=/usr/local/mysql --with-unix-socket-path=/tmp/mysql.sock
  • --with-charset=utf8 : 文字コードはutf-8
  • --with-extra-charsets=all : 他の文字コードは全部つかう
  • --with-mysqld-user=root : mysqldを実行するユーザー。(rootにしないほうがよかったかも・・・)
  • --with-innodb : innodbを使う。
  • --with-falcon : falconを使う。
  • --with-maria : mariaを使う。
  • --with-heap : memoryを使う。
  • --with-myisam : myisam を使う。
  • --enable-local-infile : よくわからない・・・
  • --prefix=/usr/local/mysql : インストール先
  • --with-unix-socket-path=/tmp/mysql.sock : ソケットファイルのパス。よくわからない・・・。

こまったことにconfigure中にエラー発生。

checking for termcap functions library... configure: error: No curses/termcap library found

うーん・・・。
ググッってしらべたら

yum install ncurses-devel

で、解決。これもなぜ解決なのかよくわからない。
次にmake,make install

make
make install

makeは異常な時間がかかるので、お茶でも飲んでおく。
完了したらデータベースの初期化をしといたほうがいいらしい。

./scripts/mysql_install_db --user=root

以上でmysqlのインストールは完了。
mysql起動。

/usr/local/mysql/bin/mysqld_safe --user=root &

mysqlコマンドはよく使うので、
パスを通しておく。

PATH=$PATH:/usr/local/mysql/bin
export PATH

これで、mysqlも準備完了。
だんだん環境が整ってきた。早く開発するのが楽しみだ。

参考:
http://www.y-kit.jp/saba/xp/mysqllinuxinst.htm

written by YSU \\ tags: , ,

4月 19

mysql6.0の"configure"中に、

checking for termcap functions library... configure: error: No curses/termcap library found

と言われた。
よくわからないのでググッってみたら、

yum install ncurses-devel

yumで上記をインストールをすれば問題なくconfigureできました。
理由はよくわからないけど、できたからいいや。

written by YSU \\ tags: , ,

3月 21

今日は日本勝ちましたね!
小笠原ナイスヒットです。イチローもっとがんばってください。
次のアメリカ戦は審判の誤審が気になるけど、きっと勝ってくれるはずです!!
月曜朝8時半からなので、朝からテンションマックスですね。
んなわけで、今日も自宅サーバーを構築中・・・。

今日はsambaを入れてみた。
全部コピペでなんとか入った感じなので、ぜんぜん理解していないけど、
とりあえず記事にしてみます(笑)。

sambaとは・・・

UNIXSMBを使ったサービスを提供するためのソフトウェアネットワークを通じてWindowsマシンにファイル共有プリンタ共有などのサービスを提供することを可能にする。GPLというライセンス体系に基づいてフリーソフトウェアとして公開されている。

ということらしい。


要は、サーバーにsambaをインストールしたらそのサーバーにwindows上からファイルを更新できたり共有できたりする感じ。
本来は共有用なのかもしれないけど、これをいれておくとwindows上からサーバーのファイル更新ができるのでとても便利。
俺は開発はテキストエディタでないとやりにくいので、windows上からプログラム書いていければいいなと思います。

sambaのインストールと設定はココを参考にしたが、
これととおりやると/home/のディレクトリしか操作できなくなってしまう。
できることなら/(ルートディレクトリ)から操作できるようにしたい。

そんときは、

[root directory]
path = /
writeable = yes
guest ok = yes
browseable = yes

を /etc/samba/smb.conf
に書き足してあげて、sambaを再起動すればルートディレクトリも操作できると思います。

上記設定を行ったときは、
絶対にローカルのIP以外にsambaを開いてはいけません!!

/etc/samba/smb.conf に↓を忘れずに!!

hosts allow = 192.168.1.

なお、sambaを開くには、windowsのファイル名から実行で、「\\192.168.1.1」みたいに
サーバーのローカルIPを指定してあげれば見れるはずです。

written by YSU \\ tags: ,

3月 14

さて、今日は自宅サーバーを構築中だが、
自宅サーバーを立てると困るのがIPアドレスだ。

たいていの家ではIPアドレスは非固定のIPアドレスが割り当てられている。
なので、せっかく独自ドメインを取得して、DNSに自宅IPを設定しても接続しなおす(ルーターの再起動など)度に
IPアドレスが変わってしまうため、いちいちDNSの設定を変更しなければならない。

それはさすがに面倒なのでダイナミックDNSを使ってみることにする。
無料のサービスもあるようだが、今回は「お名前.com」のダイナミックDNSを使ってみることに。
値段はお名前.comで使用しているドメインであれば、基本使用料月額200円。以降1ドメイン追加毎に100円かかる。

しくみは至って簡単で、クライアントPCにDNS更新用のソフトをスタートアップ起動でインストールしておき、
いろいろ設定しておけば、定期的にDNSのIPをクライアントPCが使用するIPに更新してくれる。
なので、クライアントPCを自宅のLAN以外で使用する場合は、ダイナミックDNSのIPも書き換えられてしまうので注意が必要だ。

しかし、私的な意見だが、接続をし直すなんて滅多にないので、別に普通のDNSにAレコードで設定しておけばいいのでは・・・?
と思います。

なにはともあれこれで、ドメインと自宅のIPがスムーズに解決されるはずなので、WEBサーバーを立てられるはず。

ダイナミックDNSとは
http://e-words.jp/w/E38380E382A4E3838AE3839FE38383E382AFDNS.html

常時接続環境などを利用して自宅のパソコンWebサーバなどとして公開しようとする際に、IPアドレスプロバイダによって機械的に付加されたホスト名はあまり意味をなさない数字、アルファベット、記号の羅列となるため、一般に公開して周知してもらうためには不向きな情報である。また、ネットワークへの接続を切断、再接続する度に新しいIPアドレスが付与されてしまう場合が多い。これに対し、接続ごとにDNSレコードを更新することで一意のホスト名を常時接続環境を利用する自宅のパソコンに対して付与するサービスがDDNSである。 Continue reading »

written by YSU \\ tags: ,