1
分类: LINUX
2006-06-25 21:04:00
收集网上资料自己整理的笔记省得下次忘了,这个应该比较全了。2006.7.10 By:Yjd
安装文件可用到下载或者搜索
第一步:rmp 文件的安装 注意:安装顺序apache-mysql-php-phpmyadmin
用rpm -qa 查看有没有安装
(1) rpm -ivh cpp-3.2.2-5.i386.rpm
(2) rpm -ivh binutils-2.13.90.0.18-9.i386.rpm
(3) rpm -ivh glibc-kernheaders-2.4-8.10.i386.rpm
(4) rpm -ivh glibc-devel-2.3.2-11.9.i386.rpm
(5) rpm -ivh gcc-3.2.2-5.i386.rpm
(6) rpm -ivh flex-2.5.4a-29.i386.rpm
------------------------------------------------------------
这六个文件必须在mysql和apache和PHP之前装,顺序一定不能乱。从1-6一个一个装。
再就是这6个文件在那个目录下,在本目录rpm -vih 才可以,在别的目录rpm -vih就会提示找不到***.rpm
[root@liu tmp]# rpm -ivh cpp-3.2.2-5.i386.rpm
warning: cpp-3.2.2-5.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
我把这6个文件放在了tmp下。就直接在tmp下rpm -ivh就可以了。
每成功安装一个就会提示:Preparing... #################[100%]
rpm -ivh 就是解压********.rpm文件的命令。
-----------------------------------------------------------
第二步:APACHE源码包安装
cp httpd-2.0.58.tar.gz /usr/local/
cd /usr/local
tar zxvf httpd-2.0.55.tar.gz
cd httpd-2.0.58
./configure --prefix=/usr/local/apache --enable-so (默认目录也可用自己定义)./configure --enable-so //配置Apache以便以后安装共享模块:
make && make install
vi /usr/local/apache/conf/httpd.conf
vi /etc/httpd/conf/httpd.conf Linux AS 4 默认文件
找到 ServerName 默认也可用不用修改
修改为 ServerName 127.0.0.1
cd /usr/local/apache/bin/
./apachectl start 从启动apache,用浏览器输入测试看看吧
-------------------------------------------------------------------------------------------
第三步:mysql的二进制包安装
下载:mysql-5.0.22.tar.gz
二进制和源码的目录区别:安装前先看
在一个安装目录内,源代码安装的布局在下列方面不同于二进制安装:
mysqld服务器被安装在“libexec”目录而不是“bin”目录内。
数据目录是“var”而非“data”。
mysql_install_db被安装在“/usr/local/bin”目录而非“/usr/local/mysql/scripts”内。
头文件和库目录是“include/mysql”和“lib/mysql”而非“include”和“lib
如果你想使用mysqlaccess而在某个非标准的地点有MySQL分发,你必须改变地点,在哪儿mysqlaccess期望找到mysql客户。编辑“bin/mysqlaccess”脚本,大约在第18行,寻找类似下面的行:
$MYSQL = “/usr/local/bin/mysql”; # path to mysql executable
----------------------------------
通过WinSCP3把mysql-5.0.22拷贝到linux上目录自己定
Mysql源码包安装:
[root@xtxkj]# groupadd mysql
[root@xtxkj]# useradd mysql -g mysql -M //添加mysql到mysql组,M不要自动建立用户的登入目录
[root@xtxkj]# tar zxvf mysql-5.0.22.tar.gz
[root@xtxkj]# mv mysql-5.0.22 mysql //把目录修改为mysql
[root@xtxkj]# cd mysql
[root@xtxkj]# ./configure --prefix=/usr/local/mysql --with-charset=gb2312
------------------------------------------------------------
不一定: # ./configure --prefix=/web/mysql //指定安装目录
--without-debug //去除debug模式
--with-extra-charsets=gb2312 //添加gb2312中文字符支持
--enable-assembler //使用一些字符函数的汇编版本
--without-isam //去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表
--without-innodb //去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用
--with-pthread //强制使用pthread库(posix线程库)
--enable-thread-safe-client //以线程方式编译客户端
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static //以纯静态方式编译服务端和客户端
--with-raid //激活raid支持
------------------------------------------------------------
[root@xtxkj]# make && make install
[root@xtxkj]# ./scripts/mysql_install_db --user=mysql //生成mysql用户数据库和表文件
[root@xtxkj]# cp support-files/my-medium.cnf /etc/my.cnf //copy配置文件,有large,medium,small三个环境下的, 根据机器性能选择,如果负荷比较大,可修改里面的一 些变量的内存使用值
[root@xtxkj]# cp support-files/mysql.server /etc/init.d/mysqld //copy启动的mysqld文件
[root@xtxkj]# chmod 700 /etc/init.d/mysqld
[root@xtxkj]# chown -R mysql data
[root@xtxkj]# chown -R root .
[root@xtxkj]# chgrp -R mysql .
[root@xtxkj]# chkconfig --add mysqld --level 345 mysqld on
[root@xtxkj]# service mysqld start
[root@xtxkj]# netstat -atln //看看有没有3306的端口打开,如果mysqld不能启动,看看/web/mysql/var下的出错日志,一般都是目录权限没有设置好的问题
[root@xtxkj]# ln -s /usr/local/mysql/bin/mysql /sbin/mysql
[root@xtxkj]# ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
[root@xtxkj]# mysqladmin -uroot password yjd //设置root帐户的密码
[root@xtxkj]# mysql -uroot -p
[root@xtxkj]# 输入你设置的密码
mysql>;use mysql;
mysql>;delete from user where password=""; #删除用于本机匿名连接的空密码帐号
mysql>;flush privileges;
mysql>;quit
[root@xtxkj]# chown -R root .
[root@xtxkj]# chgrp -R mysql .
[root@xtxkj]# ./scripts/mysqld_safe --user=mysql & (用mysql用户启动很重要。)
[root@xtxkj]# ./scripts/mysqladmin -u root password '这里写密码' (更改管理员密码尽量不要改就用默认为空,这步可用不用执行)
[root@xtxkj]# ./scripts/mysql -uroot -p (输入密码,默认密码为空,直接回车即可)
-----------------------------------------------------------
[root@xtxkj]# Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) //如果出现上面的提示,说明mysql服务没有正常启动,因为mysql服务启动的话,会自动生成mysql.sock文件
[root@xtxkj]# killall mysql //杀掉所有mysql进程,重新启动
------------------------------------------------------------
[root@xtxkj]# bin/mysql_install_db --user=mysql //重新启动
[root@xtxkj]# bin/mysql -uroot -p //回车输入密码,默认为空出现如下表示成功了^_^
[root@xtxkj /]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.0.22-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
参看错误日志:/usr/local/var里的*.err就是错误日志文件
停止MySQL守护进程(用mysqladmin -uroot -proot shutdown
/etc/rc.d/init.d/和/etc/init.d/init.d为同目录
===============
如遇到权限问题:
===============
chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin
chgrp -R mysql /usr/local/mysql/bin
chown -R root /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql/var
chmod 777 /usr/local/mysql/var
chown -R root /usr/local/mysql/var/mysql
chgrp -R mysql /usr/local/mysql/var/mysql
chmod 777 /usr/local/mysql/var/mysql
chown -R root /usr/local/mysql/var/mysql/*
chgrp -R mysql /usr/local/mysql/var/mysql/*
chmod 777 /usr/local/mysql/var/mysql/*
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a
/usr/local/mysql/bin/mysqld_safe --user=mysql &
附:
●mysql常见的一些有用的选项和命令
mysqld -----开启日志支持
--log
--log-update
--log-long-formart
●mysql
grant all on database.* to user identified by "password" 新建一user用户,赋予其database数据库的所有权限
revoke all on database from user 移除user用户在database数据库上的所有权限
完全将she这个用户删除:
>use mysql
>delete from user where user='she' and host='localhost';
>flush privileges; 刷新数据库
mysql -uroot -p --one-database databasename < file.sql 从file.sql文件导入sql语句到databasename这个数据库里
●mysqladmin
mysqladmin flush-logs 命令mysqld重新打开一个新的日志文件,就是清空老日志文件,相当于轮回了
●mysqldump
--add-drop-table 导出sql语句时添加droptable if exists语句
--quick 快速导出
--opt 优化选项(推荐)
●myisamchk
检查表选项
--extend-check 扩展检查
--medium-check 速度比较折中的一个检查选项
修复表选项
--recover 修复表文件
--safe-recover 安全修复表文件,比--recover要慢
修饰修复表项
--force 强制清除上次的临时文件
--quick 只根据素引文件的内容进行修复
●mysql的管理
可以使用phpmyadmin(需要php的环境支持)和mysqlcc(linux图形界面支持,WINDOWS系统支持)
修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
二、显示命令
1、显示数据库列表。
show databases;
刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
use mysql; //打开库,学过FOXBASE的一定不会陌生吧
show tables;
3、显示数据表的结构:
describe 表名;
4、建库:
create database 库名;
5、建表:
use 库名;
create table 表名 (字段设定列表);
6、删库和删表:
drop database 库名;
drop table 表名;
7、将表中记录清空:
delete from 表名;
8、显示表中的记录:
select * from 表名;
一,Mysql的进一步设置及优化。
登录数据库
“命令提示字符”窗口录入,
录入cd C:\mysql\bin 并按下回车键,将目录切换为 cd C:\mysql\bin
再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
修改密码
C:\mysql\bin提示符下录入:
格式:mysqladmin –u用户名 -p旧密码 password 新密码
例如:给root加个密码ab12。键入以下命令:
mysqladmin -uroot password ab12
建立数据库
格式:create database 库名;
例如:建立新数据库discuz
在MYSQL的提示符下:mysql> 录入 create database discuz;
显示数据库
格式:show databases;
注意是databases而不是database
建立新用户
格式:grant all privileges on 数据库.* to 用户名@登录主机 identified by "密码";
例如:增加一个用户test密码为1234,让他只可以在localhost上登录,并可以对数据库discuz进行所有的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),
在MYSQL的提示符下:
mysql> 录入grant all privileges on discuz.* to identified by "1234";
grant all privileges on discuz.* to identified by "xiaoye";
通过以上操作,你建立一个新的数据库 discuz,并增加了一个名为test对discuz数据库有所有操作权限。
\c当输入错误的时候可以用这个来结束语句,等同于回到原始位置mysql>
use discuz //尝试访问discuz库
show tables //显示表
delete from user where user='she' and host='localhost'; //从主mysql里册除she帐号
备份服务器数据:
mysqldump -h服务器IP地址 -u用户名 -p密码 --opt 数据库名>备份数据库名
mysqldump -h218.83.155.71 -udemo -pdemo --opt demo>bkup.sql
这条命令将服务器218.89.170.62上的demo这个数据库备份到本地计算机当前目录的bkup.sql这个文件中,这样,当数据库不小心损坏或数据丢失时,就可以由bkup.sql这个备份文件恢复了
2. 导入.sql数据到mysql数据库
mysql -h服务器IP地址 -u用户名 -p密码 -f -D 数据库名 <备份文件名
mysql -h218.83.155.71 -udemo -pdemo -f -D demo 这条命令会将bkup.sql这个文件中的数据重新恢复到服务器demo数据库中。 ------------------------------------------------------------ b) PNG library:由GD调用生成PNG图像。 c) Zlib:由libpng 用来提供图形压缩功能。 d) FreeType 2:由GD.调用 提供TrueType支持。 ------------------------------------------------- 安装jpegsrc.v6b.tar.gz 安装freetype-2.2.1.tar.gz 安装libpng-1.2.10-no-config.tar.tar 安装libxml2-2.6.26.tar.gz fontconfig-2.2.2.tar.gz 安装gd-2.0.33.tar.gz 第五步:PHP源码包安装 cp php-5.0.2.tar.gz /usr/local/ --with-gd=/usr/local(具体看安装到哪个目录) --with-jpeg-dir --with-zlib-dir --with-png-dir --with-ttf --with-mysql --enable-zend-multibyte ============================================================ cp php.ini-dist /soft/apache/conf/php.ini //这次我是在/soft/apache/conf里,记住一点要拷贝到apache的配置目录里 编辑apache配置文件httpd.conf 找到DirectoryIndex修改如下: #AddType application/x-gzip .gz .tgz 找到DocumentRoot "/usr/local/apache/htdocs" (这步如果不确定先不改) 为了让中文网页没乱码,找到AddDefaultCharset iso8859-1 (这里有可能没有,那就不用改) :wq保存退出 测试PHP: 浏览器里127.0.0.1测试一下,能否看到PHP字样 安装ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz ----------------------------------手工安装的步骤: 从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz,假设放在/usr/local/src/下。 生成makefile:
第四步:
JPEG library:由GD调用生成JPEG 图像。
安装zlib-1.2.3.tar.gz
# ./configure
# make
# make install
# ./configure
# make
# make install 这里是个软件bug,会提示目录找不到,要自己新建个目录
# mkdir -p /usr/local/man/man1
# make install 再运行一次,如果又提示缺少某个目录只要建个就可以
# make install-lib
# ./configure
# make
# make install
# cp scripts/makefile.gcmmx makefile
# make
# make install
# ./configure
# make
# make install
tar -zxvf fontconfig-2.3.0
cd fontconfig-2.3.0
./configure
make
make install
# ./configure
# make
# make install
/usr/local/ //as4里gd默认装在/usr/local里分别在lib,include,lib
gdlib-config --all //用这个查看gd的安装详细信息
cd /usr/local
tar -zxvf php-5.0.2.tar.gz
cd php-5.0.2
./configure --prefix=/soft/php --with-apxs2=/soft/apache/bin/apxs --with-mysql=/soft/mysql --with-gd --with-zlib-dir --with-png-dir --with-jpeg-dir --with-ttf --with-freetype=/usr/local/include/freetype2/freetype --enable-sockets --enable-track-vars
一点说明:
--prefix=/usr/local/php 指定把php-4.3.10安装到/usr/local/php目录中;
--with-mysql=/usr/local/mysql 指定mysql数据服务器安装的位置;
--with-apxs2=/usr/local/apache/bin/apxs 这是加入apache中为DSO模块的位置;
--enable-track-vars 为启动cookie的get/post等追踪功能
--with-config-file-path=/usr/local/php/etc 指定php的配制文件存放的目录是/usr/local/php/etc目录,
我们安装完成后,也要把php.ini复制到这
============================================================
make && make install
cp php.ini-dist /soft/apache/conf/php.ini
cp php.ini-dist /soft/php/lib/php.ini //这里很重要装zend加速的时候没放在这个默认的路径里会不成功(注:我的php装在/soft/php里)
# vi /usr/local/apache/conf/httpd.conf
# vi /etc/httpd/conf/httpd.conf Linux AS 4 默认文件
/soft/apache/conf/httpd.conf //上面的我是在soft/apache里
DirectoryIndex index.php index.html index.html.var
在他下面加二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
把/usr/local/apache/htdocs改为你存放网页文件的路径
比如我是放在/web/80目录下
把后面的iso8859-1改为gb2312
# vi /usr/local/apache/htdocs/index.php
#vi /var/www/html (Linux AS 4默认好像是在这里)
phpinfo();
?>
:wq
apachectl restart (重启APACHE)
# ./install.sh
注意:apache要不是安装在默认/usr/local/apache里。装zend时候会提示,可能要指定httpd.conf文件路径
如:/soft/apache/conf/httpd.conf
出现这个:修改了php.ini文件,备份一个为php.ini-zend_optimizer.bak另外安装ZendOptimizer也最好用ports安装,不过我是习惯了直接装了,呵呵,ports安装的话方法是:
下载ZendOptimizer-2.5.10a-freebsd5.1-i386.tar.gz后,置于/usr/ports/distfiles目录下,
cd /usr/ports/devel/ZendOptimizer
make install clean;
cd /usr/local/src
解压缩这个文件:
tar xvzf DBI-1.13.tar.gz
这时会新建一个DBI-1.13的目录。
cd DBI-1.13
perl Makefile.PL
建立模块
make
测试模块
make test
如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。安装模块前,先要
确保您对perl5安装目录有可写权限(通常以su命令获得),执行:
make install
------------------------------------------------------------
--with-mysqld-user=mysql \
--with-unix-socket-path=/tmp/mysql.sock \
--with-mysqld-ldflags=-all-static
#make && make install
#strip /usr/local/mysql/libexec/mysqld
#scripts/mysql_install_db
#chown -R root /usr/local/mysql
#chown -R mysql /usr/local/mysql/var
#chgrp -R mysql /usr/local/mysql
上面各步骤的具体作用在MySQL手册里已有介绍,惟一需要解释、和一般步骤不同的地方在于--with-mysqld-ldflags=-all-static。因为需要用到Chroot环境,而MySQL本身连接成静态后就无需再创建一些库环境了。