FreeBSD4でBAMP環境を構築しよう - MySQL4のインストールと設定
<MySQLのバージョン>
バージョン4.0.xと4.1.xは日本語の扱いに違いがあるため、既存の3.x/4.0.xユーザーは、4.0.xを使用し、新規ユーザーは4.1.xまたは4.0.xを使用するといいでしょう。詳しくは日本MySQLユーザー会のFAQをご覧下さい。
<重要>
FreeBSD4とMySQLは、OSの標準スレッドライブラリの問題により、一部で相性がよくありません。そのため、これを回避する方法でインストールしなければなりません。
<回避方法>
下記の両方を使ってmakeします。
<参考資料>
<インストール手順>
MySQL4のインストールはPortsから行います。
例としてMySQL4.0のインストールなら、
cd /usr/ports/databases/mysql40-server |
次に、コンパイラオプションを変更するため、Makefileを開きます。
ee Makefile |
以下の黄色い個所の1行を追加します。
.if defined(WITH_LINUXTHREADS) CONFIGURE_ARGS+=--with-named-thread-libs='-DHAVE_GLIBC2_STYLE_GETHOSTBYNAME_R CONFIGURE_ARGS+=-D_THREAD_SAFE -I${LOCALBASE}/include/pthread/linuxthreads CFLAGS+= -DHAVE_BROKEN_REALPATH CFLAGS+= -D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE CFLAGS+= -I${LOCALBASE}/include/pthread/linuxthreads |
LinuxThreadsオプション付きでmake installします。
make WITH_CHARSET=ujis WITH_XCHARSET=all WITH_LINUXTHREADS=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes install |
※注意 LinuxThreadsをインストールするには、FreeBSDに付いてくるソースファイルが必要です。「/usr/src」内が空だったり足りなかったりすると、makeに失敗してerrorが表示されます。FreeBSDインストール時のオプションで「Developer」を選択して、ソースコードをすべてインストールするようにしてください。 |
あとはインストールが終わるまでじっと待ちましょう。まずはLinuxThreadsがインストールされ、そのあとでMySQLがインストールされます。
なお、MySQLにはサーバー用とクライアント用がありますが、上記のサーバー用のPortsからインストールすれば、クライアント用も自動的にインストールされます。
インストールが終わったらrehashします。
rehash |
Portsからインストールすると、「mysql」というアカウントと「mysql」というグループがFreeBSDに作成されます。MySQLサーバーはこのアカウントとグループの権限内で動作します。そのため、MySQLのデータが入っているディレクトリやデータベースファイルの所有者は、mysqlアカウントにしなければなりません(インストール時に自動でそうしてくれます)。
MySQLをOS立ち上げと同時に自動起動するように設定しましょう。
rc.confを開きます。
ee /etc/rc.conf |
一番下に追加で記述します。
mysql_enable="YES" |
では、MySQLを起動してみましょう。
自動起動スクリプトを使用すると便利です。
/usr/local/etc/rc.d/mysql-server.sh start |
MySQLでよく使う起動オプション(自動起動スクリプトの場合)には以下のものがあります。
mysql-server.sh start | 起動する。 |
mysql-server.sh stop | 停止する。 |
mysql-server.sh restart | 再起動する。stopしてstartするのと同じ。 |
MySQLクライアントでサーバーに接続してみましょう。
mysql -u root -p |
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2887 to server version: 4.0.23 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> |
「mysql>」のところにSQL文を書きます。SQL分の最後はセミコロン「;
」で終わるようにします。
今回はサーバーに正常接続できるかどうかのテストなので、とりあえず終了させましょう。
mysql>quit; |
MySQLの管理者用パスワードを変更しましょう。デフォルトでは空欄なので、セキュリティのためにも新しいパスワードを設定します。
rootでMySQLにログインして、以下のSQLを実行します。
mysql>SET PASSWORD FOR root=PASSWORD('new_password'); |
ちなみにエラーになると
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'new_password)' at line 1 |
うまく変更できたら、新しいパスワードでログインしてみてください。
MySQLの管理は、「phpMyAdmin」というソフトをお勧めします。サイトは英語ですが、ソフトは完全に日本語化されています。ブラウザで管理するため、クライアントに専用ソフトをインストールする必要はありません。