一、背景介紹
操作系統版本: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.www58058.com/60537