php mysql源码安装是怎样的
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,php mysql源码安装是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php mysql源码安装的方法:1、通过yum安装依赖
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
广州西麦科技软件开发
网络安全宣传标志
淄博张店网络安全张召峰简历
数据库在学校中的实例
拉萨易彩网络技术有限公司
数据库如何使用统计查询
数据库查询执行的两种方法
怎么打开数据库已有的表
河南网络安全竞赛名单
国家开源软件开发与应用操作能力
客户端与服务器连接闪断
网站里如何建立数据库
针式打印机软件开发
科技创业 软件开发
数据库结果到html显示
网络安全双重签名的过程
常州企业软件开发管理方法
陕西网络安全第三方评估
网络安全蓝皮书
美国宫颈癌数据库
网络安全威胁以及解决办法
给政府做软件开发
软件开发这点事儿 ...
军人如何守好网络安全底线
梦幻新诛仙再续前缘服务器
大学生云计算创建第一台服务器
服务器五次握手
科技创业 软件开发
电脑访问内部服务器速度不一样
无锡直播软件开发哪家好