一、背景介绍
操作系统版本:centos6.8
nginx版本:nginx-1.10.2
mysql版本:mysql5.7.16
php版本:php5.6.28
由于mysql和php的版本较高所以遇到了很多问题,网上的方法好多都没办法解决,写这篇文章做记录。也希望能帮到遇到同样问题的小伙伴。
二、报错和解决方法
(1)nginx-1.10.2
make阶段的错误
make[1]: *** [/application/pcre//Makefile] Error 127 make[1]: Leaving directory `/usr/local/data/nginx-1.10.2' make: *** [build] Error 2
这是由于./configuer阶段参数设置不正确造成的,是pcre的路径写的不对。但是在configure阶段不会报错
错的参数设置
[root@localhostnginx-1.10.2]# ./configure --user=nginx --group=nginx --prefix=/appliacation/nginx-1.10.2/ --with-http_stub_status_module --with-http_ssl_module --with-pcre=/application/pcre/ --with-openssl=/application/openssl/ --with-zlib=/application/zlib/
正确的参数设置
[root@localhostnginx-1.10.2]# ./configure --user=nginx --group=nginx --prefix=/appliacation/nginx-1.10.2/ --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/data/pcre-8.38 --with-openssl=/application/openssl --with-zlib=/application/zlib/
错误:
make[1]: *** [/application/openssl//.openssl/include/openssl/ssl.h] Error 127
这是由于openssl的路径参数设置不正确引起的
错误的配置参数
[root@localhostnginx-1.10.2]# ./configure --user=nginx --group=nginx --prefix=/appliacation/nginx-1.10.2 --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/data/pcre-8.38 --with-openssl=/application/openssl --with-zlib=/application/zlib
正确的配置参数
[root@localhostnginx-1.10.2]#./configure --user=nginx --group=nginx --prefix=/appliacation/nginx-1.10.2 --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/data/pcre-8.38 --with-openssl=/usr/local/data/openssl-1.0.2h --with-zlib=/application/zlib
(2)mysql5.7.16
错误提示
See also "/usr/local/data/mysql-5.7.16/CMakeFiles/CMakeOutput.log". See also "/usr/local/data/mysql-5.7.16/CMakeFiles/CMakeError.log". make: *** [cmake_check_build_system] Error 1
由于缺少参数引起的
错误的配置参数
[root@localhostmysql-5.7.16]#cmake . -DWITH_BOOST=/usr/local/boost_1_59_0 -DCMAKE_INSTALL_PREFIX=/application/mysql5.7.16 -DMYSQ_UNIX_ADDR=/application/mysql5.7.16/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gbk2312,utf8,ascii -DENABLED_LOCAL_INFILE=ON
正确的配置参数,需要添加-DDOWNLOAD_BOOST=1
[root@localhost mysql-5.7.16]# cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=Boost -DWITH_BOOST=/usr/local/boost_1_59_0 -DCMAKE_INSTALL_PREFIX=/application/mysql5.7.16 -DMYSQ_UNIX_ADDR=/application/mysql5.7.16/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gbk2312,utf8,ascii -DENABLED_LOCAL_INFILE=ONCOLLATION=utf8_general_ci
(3)php5.6.28
报错提示
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
网上给了三种解决方法,三种方法我都试过了,但是没有起作用
方法一
vim /etc/ld.so.conf.d/local.conf # 编辑库文件 /usr/local/lib # 添加该行 :wq # 保存退出 ldconfig -v # 使之生效
方法二
ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/ ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
方法三
查看php官方文档解决. 在configure 里面加上 --with-libdir=lib64
这三种方法解决不了我的问题,但是我发现一个规律,都和limb这个库有问题,而我是编译安装的,于是我决定使用yum安装这个库,但是yum源里面没有这个库,我的解决方法
方法四
[root@localhostdata]#wget http://mirrors.hust.edu.cn/epel/6/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm http://mirrors.hust.edu.cn/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm [root@localhost php-5.6.28]# yum localinstall libmcrypt*
然后这个报错解决
(4)mysql5.7.16
在安装mysql5.7.16的过程中会生成一个随机的密码,但是忘了记下来,所以需要修改root的密码。
步骤
1先修改密码
# vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tables
2把password_expired 改成不过期
update user set password_expired='N' where user='root'; > flush privileges; > quit |
4、把 /etc/my.cnf 的 skip-grant-tables 这行注释掉
5、重启服务
1 |
#service mysql restart |
创建数据库,并授权给指定用户的操作
1创建数据库:create database xxxxx;
1、创建用户,名字为userone,密码为123456
create user userone identified by '123456';
2、创建名字为dbone的数据库
create database dbone;
3、授予dbone数据库的所有权限给userone用户:
grant all on dbone.* to userone
原创文章,作者:hanlln1,如若转载,请注明出处:http://www.178linux.com/60537