Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3178244
  • 博文数量: 797
  • 博客积分: 10134
  • 博客等级: 上将
  • 技术积分: 9335
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 22:57
个人简介

1

文章分类

全部博文(797)

文章存档

2022年(1)

2021年(2)

2017年(2)

2016年(1)

2015年(4)

2014年(1)

2013年(6)

2012年(6)

2011年(10)

2010年(26)

2009年(63)

2008年(61)

2007年(51)

2006年(563)

我的朋友

分类: 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数据库中。   

------------------------------------------------------------
第四步:
JPEG library:由GD调用生成JPEG 图像。

b)        PNG library:由GD调用生成PNG图像。

c)        Zlib:由libpng 用来提供图形压缩功能。

d)        FreeType 2:由GD.调用 提供TrueType支持。

-------------------------------------------------
安装zlib-1.2.3.tar.gz
# ./configure
# make
# make install

安装jpegsrc.v6b.tar.gz
# ./configure
# make
# make install 这里是个软件bug,会提示目录找不到,要自己新建个目录
# mkdir -p /usr/local/man/man1
# make install 再运行一次,如果又提示缺少某个目录只要建个就可以
# make install-lib

安装freetype-2.2.1.tar.gz
# ./configure
# make
# make install

安装libpng-1.2.10-no-config.tar.tar
# cp scripts/makefile.gcmmx makefile
# make
# make install

安装libxml2-2.6.26.tar.gz
# ./configure
# make
# make install

fontconfig-2.2.2.tar.gz
tar -zxvf fontconfig-2.3.0
cd fontconfig-2.3.0
./configure
make
make install

安装gd-2.0.33.tar.gz
# ./configure
# make
# make install
/usr/local/  //as4里gd默认装在/usr/local里分别在lib,include,lib
gdlib-config --all  //用这个查看gd的安装详细信息

第五步:PHP源码包安装

cp php-5.0.2.tar.gz /usr/local/
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

--with-gd=/usr/local(具体看安装到哪个目录) --with-jpeg-dir --with-zlib-dir --with-png-dir --with-ttf --with-mysql

--enable-zend-multibyte

============================================================
一点说明:
 --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/apache/conf/php.ini   //这次我是在/soft/apache/conf里,记住一点要拷贝到apache的配置目录里
cp php.ini-dist /soft/php/lib/php.ini     //这里很重要装zend加速的时候没放在这个默认的路径里会不成功(注:我的php装在/soft/php里) 

  编辑apache配置文件httpd.conf
# vi /usr/local/apache/conf/httpd.conf
# vi /etc/httpd/conf/httpd.conf          Linux AS 4 默认文件
/soft/apache/conf/httpd.conf             //上面的我是在soft/apache里

找到DirectoryIndex修改如下:
  DirectoryIndex index.php index.html index.html.var

#AddType application/x-gzip .gz .tgz
在他下面加二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

找到DocumentRoot "/usr/local/apache/htdocs"           (这步如果不确定先不改)
把/usr/local/apache/htdocs改为你存放网页文件的路径
比如我是放在/web/80目录下

为了让中文网页没乱码,找到AddDefaultCharset iso8859-1  (这里有可能没有,那就不用改)
把后面的iso8859-1改为gb2312

:wq保存退出

测试PHP:
# vi /usr/local/apache/htdocs/index.php
#vi /var/www/html     (Linux AS 4默认好像是在这里)
phpinfo();
?>
:wq
 apachectl restart (重启APACHE)

浏览器里127.0.0.1测试一下,能否看到PHP字样

安装ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
# ./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;

----------------------------------手工安装的步骤:

从CPAN下载了DBI模块1.13版的压缩文件DBI-1.13.tar.gz,假设放在/usr/local/src/下。
cd /usr/local/src
解压缩这个文件:
tar xvzf DBI-1.13.tar.gz
这时会新建一个DBI-1.13的目录。
cd DBI-1.13

生成makefile:
perl Makefile.PL
建立模块
make
测试模块
make test
如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。安装模块前,先要
确保您对perl5安装目录有可写权限(通常以su命令获得),执行:
make install
------------------------------------------------------------

新增:
 
#./configure --prefix=/usr/local/mysql \
--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本身连接成静态后就无需再创建一些库环境了。

阅读(1209) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:mysql安装笔记

给主人留下些什么吧!~~