辽宁铁岭人,现居大连。1970年生。 先后供职于 中国国际海运网、大连学堂科技、大连华仁视线网络科技有限公司、大连中科海云科技有限公司,任职技术总监。 精通PHP、JAVA、Javascript、HTML、CSS等网络编程技术及Linux操作系统。 精通面向对象编程、设计模式、重构及互联网产品设计。
分类: Mysql/postgreSQL
2011-03-25 09:26:52
特别值得一提的是Linux Mysql有很多值得学习的地方,这里我们主要介绍Linux Mysql,包括介绍Linux Mysql安装等方面。Fedora 10下安装Linux Mysql+Apache+Php(2009-02-19 13:36:46)标签:it 分类:技术进程首先我用的各软件版本分别是:MySQL:5.1.30Apache:2.2.3Php:5.2.8
安装之前,如果安装过其他版本的Linux Mysql、Apache和Php,要先卸载。使用rpm包安装的用删除rpm包语句:[rpm -e 包名],查询包名用语句:[rpm -qa | grep 包名]。有依赖关系的包也要一次删除,这样才能成功的删除这些rpm包。
1.本次安装使用的都是源码编译安装,将Linux Mysql-5.1.30.tar.gz复制到/usr/local/src下,然后解压安装,具体步骤如下:
2.Linux Mysql初始化数据库
3Linux Mysql.修改数据库目录所有者
4.复制Linux Mysql配置文件到/etc目录中,并更名为my.cnf。操作命令为:
5.复制生成Linux Mysql服务器的自动与停止脚本
6.修改/etc/rc.d/init.d/mysql文件中的基本路径:
7.将Linux Mysql服务添加到服务器管理中,并设置自启动状态:
8.启动Linux Mysql服务器
9.测试Linux Mysql服务器
10.Linux Mysql设置root账户密码
#/usr/local/mysql/bin/mysqladmin
-u root -h 主机名 -p password
'新密码'由于在编译PHP源码时,会使用到部分MySQL的库文件和头文件,若服务器还需提供PHP动态网页服务,会导致找不到相应的文件,解决办法是
为目录创建一个符号连接,其实现的操作命令如下:
#ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
#ln -s /usr/local/mysql/include/mysql /usr/include/mysql
注:若正常安装后mysql命令不能使用,解决办法:在.bashrc文件中添加(alias mysql='安装目录/bin/mysql')(eg:alias mysql='/usr/local/mysql/bin/mysql')为bin文件夹下的mysql命令区一个别名或者添加环境变量,在终端输入 (export mysql="/usr/local/mysql/bin")或在/etc/profile文件中添加条目(export PATH=$PATH:/usr/local/mysql/bin)我本人安装完毕,使用service mysql start启动mysql时,出现Mysql服务启动失败信息如下:
Starting MySQL.Manager of pid-file quit without updating fi[Failed]解决办法:只要将/etc/my.cnf里面的 skip federated注释掉即可。因机器和版本的种种差异,可能每个人都会出现一些问题,这些问题大家只好去Google上查了。这样,MySQL基本上就 安装完毕了,接下来我们来安装和配置Apache-2.2.3。
安装Apache-2.2.3
最后来安装PHP-5.2.8
Apache中加载php模块:
#cp php.ini-dist /usr/local/lib/php.ini
#vim httpd.conf
添加如下内容:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
解决Cannot load /usr/local/apache/modules/libphp5.so的方法今天安装httpd-2.2.3 和php-5.2.8,一切顺利,最后一步重新启动apache报如下错误:(真是个好编剧,总是最后发生异常)httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
解决办法:原因是Linux有一个SELinux保护模式引起的。
1关闭SELINUX的方法:
vim /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启
2不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
附一个较全的PHP编译参数:./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-zlib --disable-ctype --enable-exif --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --with-gd --enable-mbstring --with-mysqli --with-mysql=/usr/local/mysql --with-pdo-mysql --enable-soap --enable-sqlite-utf8 --with-pear=/usr/local/php/pear