Linux Mysql服务器使用源码编译安装

运维 系统运维
安装之前,如果安装过其他版本的Linux Mysql、Apache和Php,要先卸载。使用rpm包安装的用删除rpm包语句:[rpm -e 包名],查询包名用语句:[rpm -qa | grep 包名]。有依赖关系的包也要一次删除,这样才能成功的删除这些rpm包。

特别值得一提的是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下,然后解压安装,具体步骤如下

  1. #cd /usr/local/src  
  2. #tar -zxvf mysql-5.1.30.tar.gz  
  3. #cd mysql-5.1.30  
  4. #groupadd -r mysql //创建mysql用户组  
  5. #useradd -m -r -g mysql -d /var/lib/mysql -s /bin/bash \  
  6. >-c "MySQL Server" mysql  
  7. #./configure --prefix=/usr/local/mysql \ //指定mysql安装目录  
  8. >--sysconfdir=/etc \   //指定mysql配置文件存放目录  
  9. >--localstatedir=/var/lib/mysql \//指定mysql数据库存放目录  
  10. >--enable-local-infile \  //激活load data local infile语句,使mysql支持使用该语句  
  11. #make   //编译(需较长时间)  
  12. #make install   //安装  
  13. #make clean  
  14. #make distclean  

2.Linux Mysql初始化数据库

  1. #cd /usr/local/mysql  
  2. #/bin/mysql_install_db//初始化系统数据库  
  3. #ls /var/lib/mysql //查看存放数据库中的目录内容 

3Linux Mysql.修改数据库目录所有者

  1. #chown -R mysql:mysql /var/lib/mysql 

4.复制Linux Mysql配置文件到/etc目录中,并更名为my.cnf。操作命令为:

  1. #cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf   //一般正常安装之后已经有该文件,可以不用拷贝 

5.复制生成Linux Mysql服务器的自动与停止脚本

  1. #cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql 

6.将Linux Mysql服务添加到服务器管理中,并设置自启动状态:

  1. #chkconfig --list | grep mysql //查询当前是否有mysql服务  
  2. #chkconfig --add mysql //添加mysql服务到服务器管理中  
  3. #chkconfig --list | grep mysql //查询此时mysql服务器的启动状态  
  4. #chkconfig --level 35 mysql on //设置在3、5运行级别也自启动 

7.启动Linux Mysql服务器

  1. #service mysql start 或 /etc/rc.d/init.d/mysql start 

8.测试Linux Mysql服务器

  1. #/usr/local/mysql/bin/mysqladmin version测试服务器是否已启动  
  2. #/usr/local/mysql/bin/mysqladmin pin(出现:)mysql is alive 

9.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

  1. #cd /usr/local/src  
  2. #tar -zxvf httpd-2.2.3.tar.gz  
  3. #cd httpd-2.2.3  
  4. #./configure --prefix=/usr/local/apache \  
  5. >--enable-so \  
  6. >--with-mpm=prefork \  
  7. >--enable-modules="setenvif rewrite deflate vhost_alias" 
  8. #make  
  9. #make install  
  10. #usr/local/apache/bin/apachectl start设置apache自启动:  
  11. #echo "/usr/local/apache/bin/apachectl start">> /etc/rc.d/rc.local在/etc/rc.d/rc.local中添加  
  12. #echo "/usr/local/apache/bin/apachectl start" /usr/local/apache/bin/apachectl start 

***来安装PHP-5.2.8

  1. #tar -zxvf php-5.2.8.tar.gz  
  2. #cd php-5.2.8  
  3. #./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \  
  4. >--with-apxs2=/usr/local/apache/bin/apxs  
  5. #make   
  6. #make install  
  7. #make clean  
  8. #make distclean 

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

【编辑推荐】

  1. 简介Linux MySQL重要目录与登录密码
  2. 操作笔记:Linux mysql安装
  3. 介绍Linux XDMCP访问Linux桌面功能类似于Windows下的远程桌面
  4. Linux chromium通过yum安装解决不能使用问题
  5. 介绍Linux PPStream版本安装的教程
责任编辑:佚名 来源: CSDN
相关推荐

2009-08-03 14:29:38

服务器使用

2011-02-23 13:39:59

Ubuntuvsftpd

2011-02-23 13:39:59

2009-12-03 17:43:27

Linux服务器

2009-02-19 16:05:00

代理服务器服务器架设

2009-08-18 11:36:41

WinGate代理服务服务器使用

2010-02-04 13:19:41

Linux Nginx

2009-02-06 11:23:00

2009-09-17 13:10:46

WSUS服务器

2018-09-05 09:13:43

Linux服务器IPIP

2021-06-08 07:49:29

MySQL数据库索引

2010-01-15 20:43:42

CentOS PHP编

2010-01-13 15:07:51

2010-02-06 14:19:06

Linux MySQL

2010-01-15 17:35:09

2009-12-11 15:38:40

VS2008编译器

2010-02-04 15:53:16

Linux PyLuc

2010-01-05 16:14:54

Ubuntu mysq

2009-02-18 13:44:00

2009-02-18 13:43:00

点赞
收藏

51CTO技术栈公众号