语言入口:简体中文 | English | 北亚博客
 
    
 
北亚Linux数据恢复

首席工程师:张宇

手机:18600440055

座机:4006505646-801

传真:4006505646-809

Email:zy@datahf.net

地址:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
QQ:点击这里给我发消息
当前位置:首页>>Linux修复知识>>Linux超级块修复>>正文
Linux修复知识

PHP+MYSQL的安装和使用

声明:转帖时必须加注来源于
http://www.linuxsir.org
  以及作者在LinuxSir 的ID;以及保留此声明;
虽然本人深知这篇文章是小儿科,但LinuxSir的弟兄写大多数文章,被没有加注版权的信息转到别的站上,有些事说也说不清楚;
有的弟兄把LinuxSir原创文件转到别的站上,没有加任何声明之类的;而别的弟兄又把这些本来是来源 LinuxSir 的作品又从别的站上转回来;当然这次是加注来源了:(  而此文章的来源的网站的负责人竟然找上门来,说是他们原创的。说来说去,真是欲哭无泪!
所以还是把来源加上为好
多谢
北南 呈上
配制环境:本文是在Fedora 1.0 core的操作系统中搭建的,php mysql 以及apache都是Fedora 1.0自带的rpm包,所以本文中apache php和mysql 都是采用RPM包安装的。
一、安装mysql 、php和apache的rpm包;
1.查看mysqld服务器是否安装了,如果没有安装下面的这些包,就从光盘或者iso中找出;用rpm -qa | grep mysql命令来查询,安装情况和版本号。
[root@linuxsir01 root]# rpm -qa | grep mysql
libdbi-dbd-mysql-0.6.5-7
mod_auth_mysql-20030510-3
php-mysql-4.3.3-6
mysql-3.23.58-4
mysql-bench-3.23.58-4
mysql-server-3.23.58-4
freeradius-mysql-0.9.1-1
mysql-devel-3.23.58-4
[root@linuxsir01 root]#
如果没有上面这些包,应该找出来,把这些包放到一个目录中,比如是mysql的目录,然后用下面的命令安装;
[root@linuxsir01 root]#cd mysql
[root@linuxsir01 mysql]#rpm -ivh *.rpm
2.检查php是否安装了,如果没有安装,也和mysql一样的方法安装上
[root@linuxsir01 root]# rpm -qa | grep php
asp2php-0.76.2-6
php-domxml-4.3.3-6
php-mysql-4.3.3-6
asp2php-gtk-0.76.2-6
php-4.3.3-6
php-odbc-4.3.3-6
php-xmlrpc-4.3.3-6
php-imap-4.3.3-6
php-pgsql-4.3.3-6
php-devel-4.3.3-6
php-ldap-4.3.3-6
php-snmp-4.3.3-6
[root@linuxsir01 root]#
如果出现上面的一些包,证明已经安装了,如果没有,或者是少一些包,应该找出来放入一个目录,然后安装上。比如我们把这些包放到php的临时目录里;在root的家目录中建议一个php的目录,然后把上面的包都cp进去;然后执行:
[root@linuxsir01 root]#cd php
[root@linuxsir01 php]#rpm -ivh *.rpm
3. 检查apache是否安装了??其实和上面的方法一样,也是用rpm -qa |grep httpd 检查是否安装了;
[root@linuxsir01 root]# rpm -qa | grep httpd
redhat-config-httpd-1.1.0-5
httpd-devel-2.0.47-10
httpd-manual-2.0.47-10
httpd-2.0.47-10
[root@linuxsir01 root]#
如果没有出现上面的信息,或者是少什么,应该找出来安装上,在root目录下建一个目录httpd,然后把上面的包从ISO或者是光盘中找出来,cp到httpd目录,然后用下面的命令安装;
如果在以上的三个安装过程中,有出现什么错误信息,可能是包依赖,或者是安装有顺序的,建议把依赖包安装上,以及按顺序安装;
二、对mysql和apache服务器进行级别设置,目的是让其在开机后自动运行;
1.让mysql开机自动运行,我们要设置其在init 3和 5的运行级别下开机自动运行;init 3就是系统在字符模式;init 5就是图形模式;
设置和查看各种服务器的运行级别的命令是chkconfig,帮助如下:
[root@linuxsir01 root]# chkconfig
chkconfig 版本 1.3.9 - 版权 (C) 1997-2000 Red Hat, Inc.
在 GNU 公共许可的条款下,本软件可以被自由发行。

用法:    chkconfig --list [name]
         chkconfig --add
         chkconfig --del
        chkconfig [--level ]  )
[root@linuxsir01 root]#
我们先查看mysqld 服务的运行级别:
[root@linuxsir01 root]# chkconfig --list mysqld
mysqld          0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
上面的说明,mysqld服务器在3和5的运行级别中,都是关闭的。所以我们要打开它,以让它在linux操作系统在字符和图形界面中都能开机自动运行。
[root@linuxsir01 root]# chkconfig --level 35  mysqld on
在这里on是打开 off是关闭,其它的看帮助:),然后我们查看mysqld在3和5的运行级别是否打开了??
[root@linuxsir01 root]# chkconfig --list mysqld
mysqld          0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
通过上面的命令,可以发现mysqld的在3和5的运行级别已经打开。打开的目的是做什么呢??前面已经说了,这样能让mysqld服务器,开机就能开启mysqld服务,不用我们再去执行mysqld服务器的守护程序来打开它。这应该明白吧;
2.同理,我们也要打开httpd服务,也就是apache服务器的守护程序;也是用上面的办法,让它能在3和5的运行级别中开机自动开启;
查看是否开启??
[root@linuxsir01 root]# chkconfig --list httpd
httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
发现没有在3和5的运行级别打开;应该执行下面的命令打开;
[root@linuxsir01 root]# chkconfig --level 35  httpd on
查看是否已经打开了??
[root@linuxsir01 root]# chkconfig --list httpd
httpd           0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
通过上面的输出,我们已经看到apache的守护程序httpd已经在3和5级别打开了。
三、我们如何开启和关闭apache服务器以及mysqld服务器??
1.开启apache(httpd)服务器的命令帮助如下;
[root@linuxsir01 root]# /etc/init.d/httpd --help
用法: httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}
比如我们要打开httpd服务器,应该执行
[root@linuxsir01 root]# /etc/init.d/httpd start
比如我们要停止httpd服务器,应该执行
[root@linuxsir01 root]# /etc/init.d/httpd stop
比如我们要查看httpd服务器的运行状态,应该执行
[root@linuxsir01 root]# /etc/init.d/httpd status
httpd (pid 4097 4096 4095 4094 4093 4092 4091 4090 3092) 正在运行...
这表示httpd正在运行
2.如何打开和关闭mysqld服务器?
查看mysqld的基本帮助命令
[root@linuxsir01 root]# /etc/init.d/mysqld --help
用法:/etc/init.d/mysqld {start|stop|status|condrestart|restart}
比如我们要打开mysqld 服务器
[root@linuxsir01 root]# /etc/init.d/mysqld start
比如我们停止mysqld 服务器
[root@linuxsir01 root]# /etc/init.d/mysqld stop
比如我们要查看mysqld 服务器的状态
[root@linuxsir01 root]# /etc/init.d/mysqld status
mysqld (pid 3343) 正在运行...
上面表示mysqld正在运行之中
三、apache 和mysqld服务器的配制文件在哪里呢??
对此,我们应该和查找其它文件的方法一样,用locate ,比如apache的配制文件是httpd.conf,我们应该用如下的命令来查找;
[root@linuxsir01 root]# locate httpd.conf
/etc/httpd/conf/httpd.conf
是不是找到了,httpd.conf就在/etc/httpd/conf中,这就是apache的配制文件!
mysqld的配制文件的文件名是my.cnf,所以我们要用下面的命令来查找
[root@linuxsir01 root]# locate /etc/my.cnf
/etc/my.cnf
所以mysqld服务器的配制文件中/etc目录中;
配制文件有什么用呢?
哈哈,我真的不知道应该怎么说,apache的配制文件httpd是apache的核心,我们想要建立自己的网站,都要通过改动这个文件来实现,重不重要呢??
my.conf是mysqld服务器的配制文件,在这个文件中,有数据库的存放位置等信息。比如象下面这样的:
[mysqld]
datadir=/var/lib/mysql 这是数据库存放的位置
socket=/var/lib/mysql/mysql.sock
innodb_data_file_path = ibdata1:10M:autoextend
     
[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
比如我们建了一个linux的数据库,她的位置就在/var/lib/mysql/linux
四、对mysqld的最简单的操作;
可能有的弟兄刚入手,不知道mysqld如何管理,前面说mysql的开启和运行级别,也是mysqld服务器管理中最基本的东西。下面再补充一些吧。否
则新手弟兄,还是不知道如何弄这个mysqld。其实本来这个教程就是给初学者写的,所以基本的应用,还是应该写一点,虽然我这个水平写起来有点费力,但
我还是写出来了。高手兄弟,就免看了:):),因为这不是为高手准备的。哈哈。
1.如何创建mysqld数据库的管理用户??
数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令;
[root@linuxsir01 root]# /usr/bin/mysqladmin -u root password 123456
[root@linuxsir01 root]#
通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。
2.如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例;
[root@linuxsir01 root]# /usr/bin/mysql -uroot -p123456
输出上面的命令后,出现的是如下的提示;
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
注意:操作这些命令的时候,应该把mysqld服务器打开。这些新手兄弟早就知道了吧:)
3.如何在数据库中操作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄,也不是什么难事;在windows中操作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。
在mysql数据库中,每操作一个命令,都是;号结尾的,可能有的新手弟兄,忘记输入了;号结尾,结果退不出来。:):)
1]查看mysql中都有哪些数据库?
        代码:
        mysql> show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.00 sec)

mysql>
在mysql安装好,设置好管理员后,第一次进入系统,我们用show databases;命令查看数据库的列表,发现有两个数据库,mysql和test,这是系统自建的,是让大家练习用的。
2]如何创建和删除一个数据库?
比如我要创建一个名为linux的数据库,应该运行如下命令
mysql> create database  [数据库名];
所以我们应该运行如下的命令,来创建名为linux的数据库
mysql> create database linux;
Query OK, 1 row affected (0.00 sec)

是不是建好了呢??肯定是建好了,因为都有OK了:)
查看是不是有linux这个数据库了呢?
        代码:
        mysql> show databases;
+----------+
| Database |
+----------+
| linux    |
| mysql    |
| test     |
+----------+
3 rows in set (0.00 sec)

mysql>
那我们如何删除一个数据库呢??
mysql> drop database [数据库名];
比如我们要把刚才创建的linux数据库删除,应该用下面的命令;
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)
是不是已经删除了呢??
        代码:
        mysql> show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.00 sec)

mysql>
3]如何操作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果操作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令

mysql>use [数据库];
比如我想指定linux这个数据库为当前数据库,应该是
mysql> use linux;
Database changed
mysql>
4]如何备份数据库??
比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump
命令格式如下:
[root@linuxsir01 root]# /usr/bin/mysqldump -uroot -p linux > /root/linux.sql
Enter password:在这里输入数据库的密码
通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linux.sql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排;
比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130.sql,所以应该输入如下的命令。
[root@linuxsir01 root]# /usr/bin/mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在这里输入数据库管理员root的数据库密码
这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130.sql
综上所述,我们学习时要学会变通。:):)
5]如何把把备份的数据库导入到数据库中?
首先我们还是要操作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。
比如我们要把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作;
[root@linuxsir01 root]# /usr/bin/mysql -uroot -p linux  show status;
查看进程
        代码:
        mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host      | db   | Command | Time | State | Info             |
+----+------+-----------+------+---------+------+-------+------------------+
| 16 | root | localhost | NULL | Query   | 0    | NULL  | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)

mysql>
查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库;
mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)

mysql>
五、对mysql数据库常用命令的一点补充;
2.几个常用的mysql相关的管理命令
1] mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。
2]mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;
3]isamchk 是用来修复、检查和优化.ism后缀的数据库文件;
4]mysqldump 是用于备份数据库,前面已经简单的说明过;
5] myisamchk 用来修复.myi后缀的数据库文件;
比如我们要检查名为linux的数据库.myi数据库表是否存在问题,应该用下面的命令;
要把mysqld服务器停下来
[root@linuxsir01 root]# /etc/init.d/mysqld stop
然后执行
[root@linuxsir01 root]# /usr/bin/myisamchk   /var/lib/mysql/linux/*.MYI
上面的命令的意思就是检查所有的.myi文件,数据库的目录在/var/lib/linux目录中
如果有问题,应该用-r参数来修复
[root@linuxsir01 root]# /usr/bin/myisamchk -r   /var/lib/mysql/linux/*.MYI
6]mysqlshow 命令:显示用户选择的数据库和表
[root@linuxsir01 root]# mysqlshow -uroot -p [数据库名]
比如我要查看名为linux的数据库;应该是:
[root@linuxsir01 root]# mysqlshow -uroot -p linux
六、mysql的配制文件是my.cnf,这在前面已经谈过了[ 会详细补充说明,近三天之内]
七、关于apache的一些重要文件和目录的说明:
1.配制文件是httpd.conf,如果是用rpm包安装的,应该在/etc/httpd/conf中,如果是其它方法安装的,用locate httpd.conf来查找。
2]apache默认存放主页的位置应该是/var/www这个目录。
七、apache的配制文件的配制;
1.apache的配制文件是httpd.conf,它在/etc/httpd/conf/目录中
2.改配制文件时,我们要对原文件进行备份,切记!!
[root@linuxsir01 root]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.confBAK
3.一些重要配制选项的说明:在这里,我仅作简单的说明,最明确的说,我们能把apache架起来,并能让一个站点简单的运行起来。所以我只说这方面的东西,配制好后,我们就能在自己的机器上架一个小型的网站。如果需要很多功能,那就自己研究了。:):)
ServerRoot "/etc/httpd" [注]这是ServerRoot指定apache配制文件所在的目录,日志文件等目录,这个不要改动。
Listen 80 [注]apache 默认端口80,如果您想改在别的端口访问,就改一下。最好还是不要改了。比如我要改为8080,那访问网址时,应该用如下的格式
http://www.linuxsir.org:8080

ServerAdmin root@localhost  注:在这里,把管理员的信箱放上去,比如我的管理信箱是
beinan@linuxsir.com
  那就改这句为
ServerAdmin 
beinan@linuxsir.com

#ServerName new.host.name:80  注:前面有#号就是注销掉了,我们要在下面加一行。比如我没有域名,我就用自己本地机的IP设置为192.168.0.1,所以我在这里就设置了相同的;应该是:
ServerName 192.168.0.1:80
DocumentRoot "/var/www/html"  这个是存放网页的目录,也就是说,我们应该把网页的目录指定到哪里,这样当访问网址时,就调用这个目录的文件。比如我把存放网页的目录指定到了/var/home/freewill,那应该这样写
DocumentRoot "/var/home/freewill"
注:这句应该和DocumentRoot 的目录保持一致。比如我在上面设置的是/var/home/freewill,那在这句中,也应该用这/var/home/freewill
                                                                                                               也就是:

本新闻共3页,当前在第1页  1  2  3  

上一篇:ORACLE系统概述
下一篇:修改MySQL中一个用户的密码
JFS文件系统简介
XFS文件系统简介
Reiserfs文件系统简介
EXT3文件系统简介
常见Linux文件系统简介
GRUB简介与配置
LILO的使用和配置
Linux单用户模式维护系统
引导加载程序简介
重置Linux用户口令
  版权所有@北京北亚时代科技有限公司   京ICP备09039053号    
  总部电话:(010)82488636  中国·北京·海淀区中关村E世界C座8层879室               站点地图   联系我们  RSS阅读