PHP 5.1.4 と MySQL 5.0.22 のインストール
2006-08-03 作成 福島
2006-09-05 更新 福島
TOP > tips > php-5
・MySQL 5.0.22 のインストール
$ su
# groupadd mysql
# useradd -g mysql mysql
# exit
$ tar xzf mysql-5.0.22.tar.gz
$ cd mysql-5.0.22
mysql-5.0.22$ ./configure --prefix=/usr/local/mysql
mysql-5.0.22$ make
mysql-5.0.22$ su
mysql-5.0.22# make install
mysql-5.0.22# cp -p support-files/my-medium.cnf /etc/my.cnf
mysql-5.0.22# cd /usr/local/mysql
/usr/local/mysql# ./bin/mysql_install_db --user=mysql
/usr/local/mysql# chown -R root .
/usr/local/mysql# chown -R mysql var
/usr/local/mysql# chgrp -R mysql .
/usr/local/mysql# cp -p ./share/mysql/mysql.server /etc/rc.d/init.d/.
/usr/local/mysql# /sbin/chkconfig --add mysql.server
/usr/local/mysql# exit
mysql-5.0.22$ /usr/local/mysql/bin/mysqladmin -u root password Password MySQL 管理者のパスワードを設定
mysql-5.0.22$ /usr/local/mysql/bin/mysql -u root -p mysql MySQL にユーザを追加
insert into user set host='localhost',
   user='who',password=Password('password'),
   Select_priv='Y',
   Insert_priv='Y',
   Update_priv='Y',
   Delete_priv='Y',
   Create_priv='Y';
mysql-5.0.22$ /usr/local/mysql/bin/mysqladmin -u root -p reload
mysql-5.0.22$ cd
$

・MySQL 5.0.22 を使ってみる
$ echo "SHOW DATABASES" | /usr/local/mysql/bin/mysql -t
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
$ echo "CREATE TABLE test_table ( id INTEGER, value VARCHAR(10) )" | /usr/local/mysql/bin/mysql test
$ echo "SHOW TABLES" | /usr/local/mysql/bin/mysql test -t
+----------------+
| Tables_in_test |
+----------------+
| test_table     |
+----------------+
$ echo "SHOW FULL COLUMNS FROM test_table" | /usr/local/mysql/bin/mysql test -t
+-------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type        | Collation         | Null | Key | Default | Extra | Privileges                      | Comment |
+-------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| id    | int(11)     | NULL              | YES  |     | NULL    |       | select,insert,update,references |         |
| value | varchar(10) | latin1_swedish_ci | YES  |     | NULL    |       | select,insert,update,references |         |
+-------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
$ echo "INSERT INTO test_table (id,value) VALUES (1,'aaa')" | /usr/local/mysql/bin/mysql test
$ echo "INSERT INTO test_table (id,value) VALUES (2,'bbb')" | /usr/local/mysql/bin/mysql test
$ echo "SELECT * FROM test_table" | /usr/local/mysql/bin/mysql test -t
+------+-------+
| id   | value |
+------+-------+
|    1 | aaa   |
|    2 | bbb   |
+------+-------+
・ユーザに DB とアカウントを用意してみる
$ /usr/local/mysql/bin/mysql -u root -p mysql
mysql> create database DataBaseName ;
mysql> insert into user set host='localhost', user='UserName',password=Password('Password'), Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y', Create_priv='Y' ;
mysql> grant create,drop,select,insert,update,delete
on DataBaseName.* to UserName@localhost identified by 'Password' ;

・PHP 5.1.4 のインストール
$ php-5.1.4.tar.gz
$ cd php-5.1.4
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-mbstring
$ make
# make install
# vi /usr/local/apache2/conf/httpd.conf
LoadModule php4_module modules/libphp4.so <- 自動的に追加されます
AddType application/x-httpd-php .php .phtml

# cp ./php.ini-dist /usr/local/lib/php.ini
# vi /usr/local/lib/php.ini
include_path = ".:/usr/local/lib/php"
# /usr/local/apache2/bin/apachectl stop
# /usr/local/apache2/bin/apachectl start

・PHP 5.1.4 を使ってみる
# vi /usr/local/apache2/htdocs/test.php
<html>
<?php phpinfo()?>
</html>


・PHP 5.1.4 から MySQL 5.0.22 を使ってみる
# vi /usr/local/apache2/htdocs/test.php
<html>
<body>
<?php
	$db = mysql_connect("localhost", "root", "password");
	mysql_select_db("test",$db);
	$r = mysql_query("SELECT * FROM test_table",$db);
	while ($row = mysql_fetch_row($r))
		{
		printf("%s,%s<br>\n", $row[0],$row[1]) ;
		}
	mysql_close($db) ;
?>
</body>
</html>
ブラウザから実行結果を確認
1,aaa
2,bbb

いつもの悪あがき

初心者にプログラムを覚えてもらう必要があり、PHP + MySQL のインストールテキストを起こしました。

コンピュータは流行り廃りに影響されますが、昨今のプログラミングと言えば PHP + SQL だそうです。
で、PHP に一番相性が良い DB は MySQL だそうです。

初心者にプログラムを覚えてもらうためには、良い教科書が必要です。
良い教科書を一から作るより、数多くの本から教科書になるものを探すほうが現実的で、
また、生徒にとっても教科書の選択肢が広がるので、良いことづくめです。

要するに、市販の書物を使って初心者にプログラムを覚えてもらうためには PHP + MySQL をメインストリームに組み込むことも必要と言うことです。

ま、現実に迎合したつーことで。