php mysql源码安装是怎样的
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,php mysql源码安装是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php mysql源码安装的方法:1、通过yum安装依赖
千家信息网最后更新 2026年11月02日php mysql源码安装是怎样的
php mysql源码安装是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
php mysql源码安装的方法:1、通过yum安装依赖包并编译安装mysql源码;2、通过"yum install"命令安装PHP源码并修改配置;3、安装nginx源码并测试安装结果即可。
本文操作环境:redhat6.5系统、PHP5.6、Dell G3电脑。
php mysql源码安装教程
mysql和php的源码编译安装
mysql源码编译安装
安装依赖包:
yum install cmake-2.8.12.2-4.el6.x86_64.rpm gcc-c++ ncurses-devel gcc -y
[root@server2 ~]# lsanaconda-ks.cfg haproxy-1.6.11.tar.gz lamp nginxdrbd-8.4.3 heartbeat-3.0.4-2.el6.x86_64.rpm mysql-5.7.11 php-5.6.20.tar.bz2drbd-8.4.3.tar.gz heartbeat-libs-3.0.4-2.el6.x86_64.rpm mysql-boost-5.7.11.tar.gz rpmbuild[root@server2 ~]# tar zxf mysql-boost-5.7.11.tar.gz [root@server2 ~]# cd mysql-5.7.11/
编译参数:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \#安装目录-DMYSQL_DATADIR=/usr/local/mysql/data \#数据库存放目录-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径-DWITH_MYISAM_STORAGE_ENGINE=1 \#安装 myisam 存储引擎-DWITH_INNOBASE_STORAGE_ENGINE=1 \#安装 innodb 存储引擎-DWITH_ARCHIVE_STORAGE_ENGINE=1 \#安装 archive 存储引擎-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \#安装 blackhole 存储引擎-DWITH_PARTITION_STORAGE_ENGINE=1 \#安装数据库分区-DENABLED_LOCAL_INFILE=1 \#允许从本地导入数据-DWITH_READLINE=1 \#快捷键功能-DWITH_SSL=yes \#支持 SSL-DDEFAULT_CHARSET=utf8 \#使用 utf8 字符-DDEFAULT_COLLATION=utf8_general_ci \#校验字符-DEXTRA_CHARSETS=all \#安装所有扩展字符集-DMYSQL_TCP_PORT=3306 \#MySQL 监听端口
[root@server2mysql-5.7.11]#cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DENABLED_LOCAL_INFILE=1 \-DWITH_READLINE=1 -DWITH_SSL=yes \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306 \-DWITH_BOOST=boost/boost_1_59_0/[root@server2mysql-5.7.11]make[root@server2mysql-5.7.11]make install
[root@server1 support-files]# cp /etc/my.cnf /etc/my.cnf.bak #备份[root@server1 support-files]# cp my-default.cnf /etc/my.cnf #创建新的my.cnf文件[root@server1 support-files]# vim /etc/my.cnf 18 basedir = /usr/local/lnmp/mysql 19 datadir = /usr/local/lnmp/mysql/data 20 port = 3306 21 # server_id = ..... 22 socket = /usr/local/lnmp/mysql/data/mysql.sock[root@server1 support-files]# cp mysql.server /etc/init.d/mysqld #将脚本复制到启动脚本目录下[root@server1 mysql]# chmod +x /etc/init.d/mysqld #给与脚本执行权限[root@server1 mysql]# groupadd -g 27 mysql #创建mysql组[root@server1 mysql]# useradd -M -s /sbin/nologin -d /usr/local/lnmp/mysql/data -u 27 mysql -g mysql #创建mysql用户[root@server1 mysql]# chown mysql:mysql -R . #更改目录下的所有文件所有者为nysql[root@server1 mysql]# mysqld --verbose --help | grep 'insecure' #过滤初始化需要用到的参数 --initialize-insecure insecure transport will be rejected. Secure transportsinitialize-insecure FALSE[root@server1 mysql]# mysqld --initialize-insecure --user=mysql2017-09-26T03:54:01.520645Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2017-09-26T03:54:01.521056Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_pISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.2017-09-26T03:54:01.521075Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.2017-09-26T03:54:01.528325Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting. #报错data目录下有数据2017-09-26T03:54:01.529162Z 0 [ERROR] Aborting[root@server1 mysql]# cd data/[root@server1 data]# lsauto.cnf client-cert.pem ibdata1 ibtmp1 mysql.sock private_key.pem server1.pid sysca-key.pem client-key.pem ib_logfile0 mysql mysql.sock.lock public_key.pem server-cert.pemca.pem ib_buffer_pool ib_logfile1 mysqld_safe.pid performance_schema server1.err server-key.pem[root@server1 data]# rm -fr * #删除data下数据[root@server1 mysql]# mysqld --initialize-insecure --user=mysql #初始化数据库[root@server1 data]# vim ~/.bash_profile #给数据库添加环境变量 8 # User specific environment and startup programs 9 10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin[root@server1 data]# /etc/init.d/mysqld start #启动数据库Starting MySQL. SUCCESS! [root@server1 data]# mysql_secure_installation #第一次进入数据库的安全工作,设定mysql密码,匿名用户登陆。。。等等的设定[root@server2 data]# mysql[root@server2 data]# chown root:root data/ -R #为了安全经mysql数据目录权限给root用户Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.7.11 Source distributionCopyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)mysql> quit
注意:如发现以下错误是因为mysql没有进行初始化的结果,mysqld -initialize-insecure -user=mysql 之后重新启动数据库就没有这样的问题了。
[root@server2 bin]# /etc/init.d/mysqld startStarting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data//server2.pid).
php源码安装
安装需要的依赖包:
yum install libxml2-devel -yyum reinstall libcurl -yyum install libcurl-devel.x86_64 -ylibjpeg-turbo-devel-1.2.1-1.el6.x86_64 -yyum install gd-devel-2.0.35-11.el6.x86_64.rpm -yyum install gmp-devel -yyum install libmcrypt-2.5.8-9.el6.x86_64.rpm -yyum install libmcrypt-devel-2.5.8-9.el6.x86_64.rpm -yyum install net-snmp-devel -yyum install re2c-0.13.5-1.el6.x86_64.rpm -y
编译安装
root@server1 lamp]# tar jxf php-5.6.20.tar.bz2 [root@server1 php-5.6.20]# ./configure \--prefix=/usr/local/lnmp/php \--with-config-file-path=/usr/local/lnmp/php/etc \--with-mysql=mysqlnd \--with-openssl \--with-snmp \--with-gd \--with-zlib \--with-curl \--with-libxml-dir \--with-png-dir \--with-jpeg-dir \--with-freetype-dir \--with-pear \--with-gettext \--with-gmp \--enable-inline-optimization \--enable-soap \--enable-ftp \--enable-sockets \--enable-mbstring \--with-mysqli=mysqlnd \--enable-fpm \--with-fpm-user=nginx \--with-fpm-group=nginx \--with-mcrypt \--with-mhash[root@server1 php-5.6.20]# useradd -M -s /sbin/nologin -d /usr/local/lnmp/mysql/ -u 1500 nginx[root@server1 php-5.6.20]# make && make install
基本配置php
[root@server1 php-5.6.20]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini[root@server1 php-5.6.20]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm [root@server1 php-5.6.20]# chmod +x /etc/init.d/php-fpm [root@server1 php-5.6.20]# cd /usr/local/lnmp/php/[root@server1 php]# lsbin etc include lib php sbin var[root@server1 php]# vim etc/php.ini 923 ; Defines the default timezone used by the date functions 924 ; http://php.net/date.timezone 925 date.timezone = Asia/Shanghai #时区 926 [root@server1 etc]# vim php-fpm.conf 24 ; Default Value: none 25 pid = run/php-fpm.pid #开启pid 26 [root@server1 etc]# vim php.ini 1000 ; http://php.net/pdo_mysql.default-socket1001 pdo_mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sock...1149 ; http://php.net/mysql.default-socket1150 mysql.default_socket =/usr/local/lnmp/mysql/data/mysql.sock...1209 mysqli.default_socket =/usr/local/lnmp/mysql/data/mysql.sock1210 [root@server1 etc]# /etc/init.d/php-fpm startStarting php-fpm done
nginx源码安装
[root@server1 ~]# cd nginx-1.12.0[root@server1 nginx-1.12.0]# lsauto CHANGES.ru configure html Makefile objs srcCHANGES conf contrib LICENSE man README[root@server1 nginx-1.12.0]# ./configure --prefix=/usr/local/lnmp/nginx \--with-threads \--with-http_ssl_module \--with-file-aio \--with-http_stub_status_module[root@server1 nginx-1.12.0]# make && make install[root@server1 nginx-1.12.0]# ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/[root@server1 nginx-1.12.0]# vim /usr/local/lnmp/nginx/conf/nginx.conf 42 location / { 43 root html; 44 index index.php index.html index.htm; 45 } #添加php的发布页面 64 location ~ \.php$ { 65 root html; 66 fastcgi_pass 127.0.0.1:9000; 67 fastcgi_index index.php; 68 fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 69 include fastcgi.conf; #修改成这个 70 }[root@server1 html]# cat index.php #php发布页面[root@server1 html]# nginx -s reload[root@server1 html]# /etc/init.d/php-fpm reloadReload service php-fpm done测试:
浏览器中172.25.32.1
看完上述内容,你们掌握php mysql源码安装是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
源码
数据
数据库
目录
编译
引擎
存储
字符
文件
方法
用户
脚本
问题
安全
内容
参数
更多
权限
环境
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网是第几次科技革命的成果
互联网科技产业
中国互联网科技股
深圳互联网科技公司
亿策互联网科技
北京禾田雨橡互联网科技
滨湖区互联网智能科技产品供应
天速互联网络科技有限公司
青岛科技大学互联网大赛研究生
互联网5g黑科技有哪些
互联网金融科技名词解释
众安科技工业互联网合作
黑科技 体验场景 互联网大会
互联网企业科技类企业如何做账
中天科技中国工业互联网
互联网科技资金流入
南京一网一红互联网科技有限公司
普陀区互联网教育科技管理办法
中国新注册互联网科技
互联网科技自媒体灵感
天津市摩尔互联网科技
亿人帮互联网科技有限公司
麻工互联网科技
迪茉互联网科技
上游互联网科技
互联网科技论坛
海南科技产业互联网平台
哈尔滨新华互联网科技学院
小米互联网科技园入驻
长沙渺峰互联网科技有限公司