(4) 使用“make”命令编译源代码文件并生成安装文件,命令行如下;
[root@localhost mysql-5.0.41]# make //对MySQL源代码文件进行编译
(5) 使用“make install”命令进行安装,命令行如下; [root@localhost mysql-5.0.41]## make install //开始安装MySQL数据库系统
(6) 创建MySQL数据库服务器的配置文件,可以使用源码包support-files目录中的
my-medium.cnf文件作为模板,拷贝到/etc/目录下,命名为“my.cnf”文件即可。命令行如下;
[root@localhost mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf
(7) 如果还没有安装过MySQL,必须创建MySQL授权表,进入到安装目录
“/usr/local/mysql”下,执行bin目录下的mysql_install_db脚本,用来初始化mysql数据库的授权表,其中贮存了服务器访问允许。命令行如下;
[root@localhost mysql-5.0.41]#cd /usr/local/mysql //建入安装目录 [root@localhost mysql]# bin/mysql_install_db --user=mysql //创建授权表
如果使用root用户运行上面的命令,应当使用--user选项,选项的值应与你在第一步为运行服务器所创建的登录账户(mysql用户)相同。如果用mysql用户登录来运行上面命令,可以省略--user选项。用mysql_install_db创建MySQL授权表后,需要手动重新启动服务器。
(8) 将程序二进制的所有权改为root用户,数据目录的所有权改为运行mysqld程序的
mysql用户。如果现在位于安装目录(/usr/local/mysql)下,命令应为:
[root@localhost mysql]# chown -R root . //将文件的所有属性改为root用户 [root@localhost mysql]# chown -R mysql var //将数据目录的所有属性改为mysql用户 [root@localhost mysql]# chgrp -R mysql . //将组属性改为mysql组 [root@localhost mysql]# ls -l //长格式显示当前目录下的内容 总用量 40 drwxr-xr-x 2 root mysql 4096 9月 12 00:35 bin drwxr-xr-x 3 root mysql 4096 9月 12 00:34 include drwxr-xr-x 2 root mysql 4096 9月 12 00:34 info drwxr-xr-x 3 root mysql 4096 9月 12 00:34 lib drwxr-xr-x 2 root mysql 4096 9月 12 00:35 libexec drwxr-xr-x 4 root mysql 4096 9月 12 00:35 man drwxr-xr-x 8 root mysql 4096 9月 12 00:35 mysql-test drwxr-xr-x 3 root mysql 4096 9月 12 00:34 share drwxr-xr-x 5 root mysql 4096 9月 12 00:35 sql-bench
11
drwx------ 4 mysql mysql 4096 9月 12 01:16 var
(9) 在所有东西被安装完成以后,应当使用该命令启动MySQL服务了,命令行如下;
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
MySQL数据库服务启动之后,查看一下3306端口是否打开,如果看到以下结果表明MySQL服务启动成功,命令行如下;
[root@localhost apache2]# netstat -tnl|grep 3306 //查看3306端口是否开启 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
(10) 使用mysqladmin验证服务器在运行中。以下命令提供了简单的测试,可检查服务器
是否已经启动并能响应连接;
[root@localhost mysql]# bin/mysqladmin version bin/mysqladmin Ver 8.41 Distrib 5.0.41, for pc-linux-gnu on i686 Copyright (C) 2000-2006 MySQL AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.41-log Protocol version 10 Connection Localhost via UNIX socket UNIX socket /tmp/mysql.sock Uptime: 15 min 41 sec Threads: 1 Questions: 25 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.027 [root@localhost mysql]# bin/mysqladmin variables //查看所有mysql参数
(11) 设置访问权限,在MySQL安装过程中,使用mysql_install_db程序安装了MySQL
数据库授权表,表定义了初始MySQL用户账户和访问权限,所有初始账户均没有密码。这些账户为超用户账户,可以执行任何操作。初始root账户的密码为空,因此任何人可以用root账户不用任何密码来连接MySQL服务器,并具有所有权限,这意味着MySQL安装未受保护。如果你想要防止客户端不使用密码用匿名用户来连接,你应当为匿名账户指定密码或删掉匿名账户,应当为MySQL root账户指定密码。使用“mysql –u root”启动mysql客户端,连接MySQL服务器。命令行如下;
[root@localhost mysql]# bin/mysql -u root //没有密码可以直接登录本机服务器 Welcome to the MySQL monitor. Commands end with ; or \\g. Your MySQL connection id is 3 Server version: 5.0.41-log Source distribution
12
Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer. mysql>
如果有匿名账户存在,它拥有全部的权限,因此删掉它可以提高安全,在mysql客户端执行SQL语句如下;
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User=''; Query OK, 1 rows affected (0.08 sec) mysql> FLUSH PRIVILEGES; Query OK, 1 rows affected (0.01 sec)
可以用几种方法为root账户指定密码,我们选用其中一种,在mysql客户端命令行上使用SET PASSWORD指定密码,一定要使用PASSWORD()函数来加密密码。设置localhost域的密码为“123456”,其它域可以使用同样的语句,使用的SQL语句如下;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); Query OK, 0 rows affected (0.00 sec)
如果想退出MySQL客户端,可以在MySQL客户端提示符下输入命令“exit”或者“quit”、还可以按键盘“Ctrl+c”组合键,都可以从MySQL客户端中退出。因为已经给MySQL服务器的root账号设置了密码,所以再次登录MySQL客户端就要提供密码才能进入。退出MySQL客户端和重新启动MySQL客户端的命令如下;
mysql> exit //退出MySQL客户端 Bye [root@localhost mysql]# bin/mysql -u root -h localhost –p //回车进入MySQL客户端 Enter password: //输入密码“123456“ Welcome to the MySQL monitor. Commands end with ; or \\g. Your MySQL connection id is 9 Server version: 5.0.41-log Source distribution Type 'help;' or '\\h' for help. Type '\\c' to clear the buffer. mysql>
如果想关闭MySQL服务器,在命令行使用MySQL服务器的mysqladmin命令, 通过-u参数给出MySQL数据库管理员用户名root和通过-p参数给出密码,即可以关闭MySQL服务器。命令行如下;
[root@localhost mysql]# bin/mysqladmin -u root –p shutdown //关闭MySQL数据库
13
(12) MySQL服务器和Apache服务器一样也有必要设置为开机自动运行,设置方法是进
入到mysql源代码目录/usr/local/src/mysql-5.0.41/中,将子目录support-files下的mysql.server文件复制到/etc/rc.d/init.d目录中,并重命名为“mysqld”,命令行如下所示;
[root@localhost mysql]# cd /usr/local/src/mysql-5.0.41 [root@localhost mysql-5.0.41]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
修改文件/etc/rc.d/init.d/mysqld的权限,命令行如下所示;
[root@localhost mysql-5.0.41]# chown root.root /etc/rc.d/init.d/mysqld [root@localhost mysql-5.0.41]# chmod 755 /etc/rc.d/init.d/mysqld 使用chkconfig命令设置在不同系统运行级别下的自启动策略,首先使用“chkconfig --add mysqld”命令增加所指定的mysqld服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据,使用命令如下; [root@localhost mysql-5.0.41]# chkconfig --add mysqld
然后使用“chconfig –level 3 mysqld on”命令和“chconfig –level 5 mysqld on”命令,
在第三和第五等级中开启mysql服务,即在字符模式和图形模式启动时自动开启mysql服务,命令如下;
[root@localhost mysql-5.0.41]# chkconfig --level 3 mysqld on [root@localhost mysql-5.0.41]# chkconfig --level 5 mysqld on
再使用“chkconfig --list”命令检查设置,命令行如下;
[root@localhost mysql-5.0.41]# chkconfig --list mysqld mysqld 0:关闭 1:关闭 2: 关闭 3:启用 4: 关闭 5:启用 6:关闭
11.编译安装最新版本的PHP模块,源码包为php-5.2.6.tar.gz
(1) 进入软件源码包所在目录/usr/local/src/中,解压软件包php-5.2.6.tar.gz到当前目录
php-5.2.6下,并进入php-5.2.6目录,命令行如下所示;
[root@localhost root]# cd /usr/local/src/ //进入软件源码包所在目录 [root@localhost src]# tar zxvf php-5.2.6.tar.gz //解包解压到php-5.2.6目录 [root@localhost src]# cd php-5.2.6 //进入目录php-5.2.6中
(2) 使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如
下,使用“\\”将configure命令选项换成多行;
14
[root@localhost php-5.2.6]# ./configure \\ //执行当前目录下软件自代的配置命令 > --prefix=/usr/local/php \\ //设置PHP5 的安装路径 > --with-config-file-path=/usr/local/php/etc \\ //指定PHP5配置文件存入的路径 > --with-apxs2=/usr/local/apache2/bin/apxs \\ //告诉PHP查找Apache 2的地方 > --with-mysql=/usr/local/mysql/ \\ //指定MySQL的安装目录 > --with-libxml-dir=/usr/local/libxml2/ \\ //告诉PHP放置libxml2库的地方 > --with-png-dir=/usr/local/libpng/ \\ //告诉PHP放置libpng库的地方 > --with-jpeg-dir=/usr/local/jpeg6/ \\ //告诉PHP放置jpeg库的地方 > --with-freetype-dir=/usr/local/freetype/ \\ //告诉PHP放置freetype库的地方 > --with-gd=/usr/local/gd2/ \\ //告诉PHP放置gd库的地方 > --with-zlib-dir=/usr/local/zlib/ \\ //告诉PHP放置zlib库的地方 > --with-mcrypt=/usr/local/libmcrypt/ \\ //告诉PHP放置libmcrypt库的地方 > --with-mysqli=/usr/local/mysql/bin/mysql_config \\ //变量激活新增加的MySQLi功能 > --enable-soap \\ //变量激活SOAP和Web services支持 > --enable-mbstring=all \\ //使多字节字符串支持 > --enable-sockets //变量激活socket通讯特性
(3) 使用“make”命令编译源代码文件并生成安装文件,命令行如下;
[root@localhost php-5.2.6]# make //对PHP源代码文件进行编译 创建软连接:ln –s /usr/local/lib/libltdl.so.3 /usr/lib/libltdl.so.3
(4) 使用“make install”命令进行安装,命令行如下; [root@localhost php-5.2.6]# make install //开始安装PHP5 (5) 安装完成后,需要建立PHP配置文件。在使用configure命令安装配置时使用了“--with-config-file-path=/usr/local/php/etc/”选项,指定了配置文件的位置,将源码包目录下的“php.ini-dist”文件拷贝到指定的目录“/usr/local/php/etc/”中,并改名为“php.int”即可,解命令行如下;
[root@localhost php-5.2.6]# cp php.ini-dist /usr/local/php/etc/php.ini //创建配置文件
(6) 整合Apache与PHP,上面PHP编译之前,我们使用configure命令安装配置时,使
用了“--with-apxs2=/usr/local/apache2/bin/apxs”选项,以使 Apache 2 将 PHP 作为功能模块使用,但我们还要修改Apache配置文件,添加PHP的支持,告诉 Apache 将哪些后缀作为 PHP 解析。例如,让 Apache 把 .php 或.phtml后缀的文件解析为PHP。使用vi打开Apache的配置文件/etc/httpd/httpd.conf,找到“AddType application/x-gzip .gz .tgz”项,在其下方添加“Addtype application/x-httpd-php .php .phtml”可以将任何后缀的文件解析为 PHP,只要在添加的语句中加入并用空格分开。这里以多添加一个 .phtml 来示例。如下所示
[root@localhost php-5.2.6]# vi /etc/httpd/httpd.conf //使用vi编辑apache配置文件 … …
15