• centos 7.4源码安装mysql5.5.20+apache 2.4.29+php5.3.28


    安装环境:

    centos 7.4 + mysql 5.5.20

     

    步骤:

    (1)     源码安装MYSQL5.5.20方法,通过cmake、make、make install三个步骤实现。

    安装mysql需要的包:yum install -y cmake make gcc gcc-c++ wget ncurses-devel cmake make perl ncurses-devel openssl-devel bison-devel libaio libaio-devel

    PCRE是一个Perl库,包括 perl 兼容的正则表达式库。PCRE是一个轻量级的函数库,比Boost之类的正则表达式库小得多。

    CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。

    ncurses是字符终端下屏幕控制的基本库,mysql登录时使用到了相应的功能。

    libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高。libaio的读写过程简单说来就是你发出一个读写请求,然后你可以开始做其他事情,当读写过程结束时libaio会通知你你的这次请求已经完成(而select模型是告诉你读写已经就绪)

    Bison是一种通用的解析器生成器,它将一个LALR(1)上下文无关文法的语法描述转换成一个C程序来解析该语法。一旦您精通Bison,您就可以使用它来开发广泛的语言解析器,从简单的桌面计算器到复杂的编程语言。

    (2)  安装:

    cmake  .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ 
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 
    -DMYSQL_DATADIR=/data/mysql 
    -DSYSCONFDIR=/etc 
    -DMYSQL_USER=mysql 
    -DMYSQL_TCP_PORT=3306 
    -DWITH_XTRADB_STORAGE_ENGINE=1 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_PARTITION_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_MYISAM_STORAGE_ENGINE=1 
    -DWITH_READLINE=1 
    -DENABLED_LOCAL_INFILE=1 
    -DWITH_EXTRA_CHARSETS=1 
    -DDEFAULT_CHARSET=utf8 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DEXTRA_CHARSETS=all 
    -DWITH_BIG_TABLES=1 
    -DWITH_DEBUG=0

     

    make && make install

      cd /usr/local/mysql55/ 
      cp -f support-files/my-large.cnf   /etc/my.cnf
      cp -f support-files/mysql.server  /etc/init.d/mysqld

     

    创建mysql datadir:

      mkdir -p  /data/mysql

    
    

      添加开机自启动:

      chkconfig --add mysqld 
      chkconfig --level 35 mysqld on

    创建mysql 用户,组:

     groupadd mysql
     useradd -s /sbin/nologin -m -g mysql mysql

       /usr/local/mysql55/scripts/mysql_install_db  --user=mysql  --datadir=/data/mysql  --basedir=/usr/local/mysql55/

     

      chown -R mysql.mysql  /data/mysql/     #改变目录的用户和用户组
      ln -s  /usr/local/mysql55/bin/*  /usr/bin/

     注意:datadir的准确性

    第二部分:

    mysql启动:

    1.开启MySQL服务

    /etc/init.d/mysqld start

    service mysqld start

    systemctl start mysqld

    2.检测端口是否运行

    lsof -i :3306

    netstat -lntup |grep 3306

    ss -antp|grep 3306

    3. 设置mysql的密码:

    mysqladmin -u root password "NEWPASSWORD"

     4. 修改mysql的密码:

    mysqladmin -u [username]-p[oldpassword] password [newpassword]

    username:   用户名

    oldpassword:旧密码

    newpassword:新密码

    注意:-p[oldpassword]中间没有空格

    输入命令时也可以忽略旧密码,然后会提示你输入密码,则输入旧密码。

    假设原密码为ab12,改为abc345,则命令为:

    mysqladmin -u root -pab12  password abc345

    或者

    use mysql;

    update user set passowrd = PASSWORD('newpassword') where user = 'root';

    flush privileges;

     

    5.MySQL密码丢了,请找回?

    mysqld_safe --skip-grant-tables & #启动数据库服务

    mysql -uroot -ppassowrd -e "use mysql;update user set passowrd = PASSWORD('newpassword') where user = 'root';flush privileges;"

     

    mysql远程登录:

    1.登陆权限简介:

    mysql用户设置当中多了一个主机选项,意思是允许这个用户使用什么主机登陆。

    一般常见的主机选项为:%,localhost,IP地址

    %:任意主机可以登陆

    localhost:仅本机可以登陆

    IP地址:指定的IP地址可以登陆

    2.修改root的登陆权限

    1.登陆mysql服务器

    mysql -u root -p

    2.进入数据库mysql

    use mysql;

    3.修改登陆权限

    update db set host = '%' where user = '用户名';

    新增本机登录用户wutao

    grant select,insert,update,delete on *.* to wutao@localhost Identified by "12345678";

    GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

    grant all privileges on *.* to 'wutao'@'%' identified by "12345678";

    4.刷新权限列表

    flush privileges;

    二;源码安装Apache 2.4.29

    (1)  Apache WEB安装,先安装apr、apr-utils等基础库包。

    yum install apr-devel apr-util-devel  gcc c ncurses-devel cmake libaio bison gcc-c++  git pcre* -y

    PCRE是一个Perl库,包括 perl 兼容的正则表达式库。PCRE是一个轻量级的函数库,比Boost之类的正则表达式库小得多。

    CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。

    ncurses是字符终端下屏幕控制的基本库,mysql登录时使用到了相应的功能。

    libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高。libaio的读写过程简单说来就是你发出一个读写请求,然后你可以开始做其他事情,当读写过程结束时libaio会通知你你的这次请求已经完成(而select模型是告诉你读写已经就绪)

    Bison是一种通用的解析器生成器,它将一个LALR(1)上下文无关文法的语法描述转换成一个C程序来解析该语法。一旦您精通Bison,您就可以使用它来开发广泛的语言解析器,从简单的桌面计算器到复杂的编程语言。

    Git :快速、可缩放的分布式版本控制系统

     

    安装pcre:

    cd  /usr/src

    wget  https://sourceforge.net/projects/pcre/files/pcre/8.42/pcre-8.42.tar.gz

    tar xzf  pcre-8.42.tar.gz

    cd pcre-8.42

    ./configure --prefix=/usr/local/pcre

    #make

    #make install 

     

    安装Apache:

    wget http://archive.apache.org/dist/httpd/httpd-2.4.29.tar.gz

    tar  xzf  httpd-2.4.29.tar.gz

    cd httpd-2.4.29

    ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite  --with-pcre=/usr/local/pcre

    make  && make install

    setenforce 0

    systemctl stop firewalld

    iptables -F

    echo "ServerName localhsot:80" >> /usr/local/apache/conf/httpd.conf

    /usr/local/apache/bin/apachectl restart

    三。安装php5.3.28:

    wget http://mirrors.sohu.com/php/php-5.3.28.tar.bz2

    tar jxf  php-5.3.28.tar.bz2

    cd php-5.3.28 ;

    vim  /usr/src/php-5.3.28/Zend/zend_language_parser.h       修改317行,改为(void *compiler_globals)

    ./configure过程很顺利,在make环节发生错误。报错:/root/php-5.3.28/Zend/zend_language_parser.h:317: 错误:与‘zendparse’类型冲突。

    下一句给了提示,在zend_globals_macros.h:35中‘zendparse’类型如此:

    CG 的含义就是 compiler_globals ,Zend编译器相关的全局变量;

    EG 的含义就是 executor_globals,Zend执行器相关的全局变量;

    yum install libxml2 libxml2-devel -y

    libxml2 是个跨平台的C库,用于操作xml文件,解析xml文件

    xml语言:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

    ./configure --prefix=/usr/local/php5  --with-mysql=mysqlnd   --with-mysqli=mysqlnd   --with-pdo-mysql=mysqlnd  --with-apxs2=/usr/local/apache/bin/apxs

    make -j4 && make  -j4  install   (j4 是指4核CPU同时编译文件)

    四.整合PHP和Apache资源:

    (1)  Apache+PHP源码整合

    为了能让Apache发布PHP页面,需要将PHP安装完成后的libphp5.so模块与Apache进行整合,vim httpd.conf编辑配置文件,在对应模块加入如下代码

    AddType         application/x-httpd-php  .php

    这个是让.txt后缀的文件可执行PHP,如果.php文件中包括PHP代码,则该文件和.php后缀的文件完全 一样,都成为动态文件,在服务器端处理。

    如果在httpd.conf中不设置此语句,则以字符的形式直接读取.php文件中的内容,不作PHP处理。

    DirectoryIndex     index.php index.html index.htm

    五.测试

    创建PHP测试页面,在/usr/local/apache/htdocs目录下创建index.php测试页面,执行如下命令自动创建:

    vim  /usr/local/apache/htdocs/index.php

    <?php

    phpinfo();

    ?>

     

     

    /usr/local/apache/bin/apachectl  restart

    重新启动Apache服务,浏览器输入 Apache WEB的IP访问,如图12-4所示,即代表LAMP源码环境整合成功。

    Apache+PHP测试页面

    (1)  Discuz PHP论坛安装

    LAMP源码整合完毕之后,Dicuz官网下载Discuz开源PHP软件包,将软件包解压并发布在Apache Htdocs发布目录,代码如下:

    cd     /usr/src ;

    wget  http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip

    unzip  Discuz_X3.1_SC_UTF8.zip -d  /usr/local/apache/htdocs/

    cd    /usr/local/apache/htdocs/

    mv upload/* .

    chmod 757  -R  data/  uc_server/  config/  uc_client/

    MYSQL数据库命令行中创建PHP连接MYSQL的用户及密码,命令如下:

    create database discuz charset=utf8;

    grant all on discuz.* to root@'localhost' identified by "123456";

     

    数据库服务器地址填写本机的地址

    数据库名字填写在主数据库创建的discuz

    用户名填写数据库用户名root

    数据库密码123456

     

    配置成功后可以看到如下

     

     

     

     

     

    没有借口
  • 相关阅读:
    一分钟 解决Tomcat端口 占用问题
    Java 自定义注解
    Java 解析自定义XML文件
    Junit(手动/自动)加载
    Java思维题
    SSM框架中使用日志框架
    DAC
    SPI接口的FLASH
    晶振测试起振方法
    Jlink不报错的方法
  • 原文地址:https://www.cnblogs.com/wutao1935/p/11663051.html
Copyright © 2020-2023  润新知