Lnmp(mysql分离)(nginx 1.13.6+mysql5.5.32+php5.3)环境搭建
如果对运维课程感兴趣,可以在b站上、csdn或微信视频号 上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频
在服务器192.168.37.128上搭建lnmp(mysql只到make install即可)
1.源码安装nginx1.13.6(单域名网站,默认站点html下)
[root@localhost ~]# mkdir /nginx
rz上传nginx 1.13.6源码包到/nginx /目录下
[root@localhost ~]# ls /nginx/
nginx-1.13.6.tar.gz
[root@localhost ~]# yum -y install gcc gcc-c++
[root@localhost ~]# yum -y install openssl-devel
[root@localhost ~]# yum -y install zlib-devel
[root@localhost ~]# yum -y install pcre-devel
[root@localhost ~]# useradd nginx -s /sbin/nologin -M
[root@localhost ~]# cd /nginx/
[root@localhost nginx]# ls
nginx-1.13.6.tar.gz
[root@localhost nginx]# tar -zxf nginx-1.13.6.tar.gz
[root@localhost nginx]# ls
nginx-1.13.6 nginx-1.13.6.tar.gz
[root@localhost nginx]# cd nginx-1.13.6
[root@localhost nginx-1.13.6]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@localhost nginx-1.13.6]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module
[root@localhost nginx-1.13.6]# make && make install
[root@localhost nginx-1.13.6]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.13.6]# /usr/local/nginx/sbin/nginx
[root@localhost nginx-1.13.6]# netstat -anptu |grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6111/nginx
tcp 1 0 192.168.40.139:54725 223.119.248.25:80 CLOSE_WAIT 2423/clock-applet
2.源码安装mysql5.5
[root@localhost nginx-1.13.6]# cd
[root@localhost ~]# mkdir /mysql
rz上传mysql5.5包和cmake包
[root@localhost ~]# ls /mysql/
cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
1)先安装cmake,并安装最后提示运行gmake方式来安装cmake软件
[root@localhost ~]# cd /mysql/
[root@localhost mysql]# ls
cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
[root@localhost mysql]# tar -zxf cmake-2.8.8.tar.gz
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
[root@localhost mysql]# cd cmake-2.8.8
[root@localhost cmake-2.8.8]# ls
bootstrap CMakeCPackOptions.cmake.in cmake_uninstall.cmake.in CTestConfig.cmake DartLocal.conf.in Modules Tests
ChangeLog.manual CMakeGraphVizOptions.cmake CompileFlags.cmake CTestCustom.cmake.in Docs Readme.txt Utilities
ChangeLog.txt CMakeLists.txt configure CTestCustom.ctest.in doxygen.config Source
CMakeCPack.cmake CMakeLogo.gif Copyright.txt DartConfig.cmake Example Templates
[root@localhost cmake-2.8.8]# ./configure
……
CMake has bootstrapped. Now run gmake. #提示运行gmake ,可能make也行,没试过
[root@localhost cmake-2.8.8]# gmake
[root@localhost cmake-2.8.8]# gmake install
[root@localhost cmake-2.8.8]# cd ..
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
2)安装mysql依赖包:
[root@localhost mysql]# yum -y install ncurses-devel
3)用cmake软件包安装mysql5.5:
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd mysql -s /sbin/nologin -M -g mysql
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
[root@localhost mysql]# tar -zxf mysql-5.5.32.tar.gz
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32 mysql-5.5.32.tar.gz
[root@localhost mysql]# cd mysql-5.5.32
[root@localhost mysql-5.5.32]# ls
BUILD CMakeLists.txt COPYING include libmysqld mysys regex sql-common tests win
BUILD-CMAKE cmd-line-utils dbug INSTALL-SOURCE libservices packaging scripts storage unittest zlib
client config.h.cmake Docs INSTALL-WIN-SOURCE man plugin sql strings VERSION
cmake configure.cmake extra libmysql mysql-test README sql-bench support-files vio
[root@localhost mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 \
-DMYSQL_DATADIR=/usr/local/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 \
回车,….
[root@localhost mysql-5.5.32]# echo $?
0
[root@localhost mysql-5.5.32]# make && make install
[root@localhost mysql-5.5.32]# ls /usr/local/mysql-5.5.32/
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
[root@localhost mysql-5.5.32]# ln -s /usr/local/mysql-5.5.32/ /usr/local/mysql
[root@localhost mysql-5.5.32]# ls /usr/local/mysql
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
[root@localhost mysql-5.5.32]# cd
3.源码安装php5.3
1)安装php所需的图形lib库
php程序在开发时会调用一些诸如画图所需的库,(网站有的需要图形如验证码、图形库等),大概如下:
zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg freetype-devel libpng-devel gd-devel curl-devel
[root@localhost ~]# mkdir /php
rz上传php5.3和各依赖包
[root@localhost ~]# ls /php/
libiconv-1.14.tar.gz libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz php-5.3.27.tar.gz
[root@localhost ~]# cd /php/
[root@localhost php]# yum -y install zlib libxml libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel curl-devel
[root@localhost php]# rpm -qa zlib libxml libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel curl-devel
gd-devel-2.0.35-11.el6.x86_64
libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64
libxml2-devel-2.7.6-21.el6_8.1.x86_64
libpng-1.2.49-2.el6_7.x86_64
gd-2.0.35-11.el6.x86_64
zlib-devel-1.2.3-29.el6.x86_64
zlib-1.2.3-29.el6.x86_64
libpng-devel-1.2.49-2.el6_7.x86_64
freetype-2.3.11-17.el6.x86_64
curl-7.19.7-53.el6_9.x86_64
freetype-devel-2.3.11-17.el6.x86_64
2)安装php普通依赖包
[root@localhost php]# yum -y install libxslt*
[root@localhost php]# yum -y install openldap openldap-devel
[root@localhost php]# cp -frp /usr/lib64/libldap* /usr/lib/
[root@localhost php]# ls
libiconv-1.14.tar.gz libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz php-5.3.27.tar.gz
3)源码安装php3个依赖包
[root@localhost php]# tar -zxf mhash-0.9.9.9.tar.gz
[root@localhost php]# tar -zxf libiconv-1.14.tar.gz
[root@localhost php]# tar -zxf libmcrypt-2.5.8.tar.gz
[root@localhost php]# ls
libiconv-1.14 libiconv-1.14.tar.gz libmcrypt-2.5.8 libmcrypt-2.5.8.tar.gz mhash-0.9.9.9 mhash-0.9.9.9.tar.gz php-5.3.27.tar.gz
[root@localhost php]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ls
acinclude.m4 ChangeLog config.sub CVS include libtool mhash-0.9.9 NEWS THANKS
aclocal.m4 changelog-update.sh configure CYGWIN-PATCHES INSTALL ltmain.sh mhash.spec README TODO
AUTHORS config.guess configure.in depcomp install-sh Makefile.am mhash.spec.in src win32
buildconf config.status COPYING doc lib Makefile.in missing stamp-h1
[root@localhost mhash-0.9.9.9]# ./configure
[root@localhost mhash-0.9.9.9]# make && make install
[root@localhost mhash-0.9.9.9]# cd ..
[root@localhost php]# cd libiconv-1.14
[root@localhost libiconv-1.14]# ls
ABOUT-NLS build-aux configure.ac DESIGN gnulib-local lib Makefile.in os2 README srclib tools
aclocal.m4 ChangeLog COPYING djgpp HACKING libcharset man po README.djgpp srcm4 windows
AUTHORS config.h.in COPYING.LIB doc include m4 NEWS PORTS README.woe32 tests woe32dll
autogen.sh configure DEPENDENCIES extras INSTALL.generic Makefile.devel NOTES preload src THANKS
[root@localhost libiconv-1.14]# ./configure
[root@localhost libiconv-1.14]# make && make install
[root@localhost libiconv-1.14]# cd ..
[root@localhost php]# cd libmcrypt-2.5.8
[root@localhost libmcrypt-2.5.8]# ls
acinclude.m4 buildconf config.log COPYING.LIB install-sh libmcrypt.spec.in Makefile.in README
aclocal.m4 ChangeLog config.status depcomp KNOWN-BUGS libtool missing src
AUTHORS config.guess config.sub doc lib ltmain.sh mkinstalldirs stamp-h1
autom4te.cache config.h configure include libltdl Makefile modules THANKS
autoscan.log config.h.in configure.in INSTALL libmcrypt.spec Makefile.am NEWS TODO
[root@localhost libmcrypt-2.5.8]# ./configure
[root@localhost libmcrypt-2.5.8]# make && make install
[root@localhost libmcrypt-2.5.8]# cd libltdl/
[root@localhost libltdl]# ls
acinclude.m4 aclocal.m4 config-h.in configure configure.in COPYING.LIB ltdl.c ltdl.h Makefile.am Makefile.in README
[root@localhost libltdl]# ./configure --enable-ltdl-install
[root@localhost libltdl]# make && make install
[root@localhost libltdl]# cd
[root@localhost ~]# ldconfig -v |grep mhash
空
[root@localhost ~]# ls /usr/local/lib
charset.alias libcharset.so.1 libiconv.so.2 libmcrypt libmcrypt.so.4.4.8 libmhash.so.2
libcharset.a libcharset.so.1.0.0 libiconv.so.2.5.1 libmcrypt.la libmhash.a libmhash.so.2.0.1
libcharset.la libiconv.la libltdl.a libmcrypt.so libmhash.la preloadable_libiconv.so
libcharset.so libiconv.so libltdl.la libmcrypt.so.4 libmhash.so
[root@localhost ~]# ln -s /usr/local/lib/libmhash.* /usr/lib
[root@localhost ~]# ln -s /usr/local/lib/libmcrypt* /usr/lib
[root@localhost ~]# ln -s /usr/local/lib/libiconv.* /usr/lib
[root@localhost ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@localhost ~]# ldconfig -v |grep mhash
libmhash.so.2 -> libmhash.so.2.0.1
[root@localhost ~]# ldconfig -v |grep mcrypt
libmcrypt.so.4 -> libmcrypt.so.4.4.8
[root@localhost ~]# ldconfig -v |grep conv
libiconv.so.2 -> libiconv.so.2.5.1
libv4lconvert.so.0 -> libv4lconvert.so.0
libconversion.so.4 -> libconversion.so.4.3.0
[root@localhost ~]# ldconfig -v |grep libmysqlclient
libmysqlclient.so.16 -> libmysqlclient.so.16.0.0
libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0
4)安装php
[root@localhost ~]# cd /php/
[root@localhost php]# ls
libiconv-1.14 libiconv-1.14.tar.gz libmcrypt-2.5.8 libmcrypt-2.5.8.tar.gz mhash-0.9.9.9 mhash-0.9.9.9.tar.gz php-5.3.27.tar.gz
[root@localhost php]# tar -zxf php-5.3.27.tar.gz
[root@localhost php]# cd php-5.3.27
[root@localhost php-5.3.27]# ls
acconfig.h footer mkinstalldirs README.PHP4-TO-PHP5-THIN-CHANGES snapshot
acconfig.h.in generated_lists netware README.REDIST.BINS stamp-h.in
acinclude.m4 genfiles NEWS README.RELEASE_PROCESS stub.c
aclocal.m4 header pear README.SELF-CONTAINED-EXTENSIONS svnclean.bat
build INSTALL php5.spec.in README.STREAMS tests
buildconf install-sh php.gif README.SUBMITTING_PATCH TODO
buildconf.bat LICENSE php.ini-development README.TESTING TODO-5.1
CODING_STANDARDS ltmain.sh php.ini-production README.TESTING2 TODO-PHP5
config.guess main README.EXTENSIONS README.UNIX-BUILD-SYSTEM TSRM
config.sub makedist README.EXT_SKEL README.WIN32-BUILD-SYSTEM UPGRADING
configure Makefile.frag README.GIT-RULES run-tests.php UPGRADING.INTERNALS
configure.in Makefile.gcov README.input_filter sapi vcsclean
CREDITS Makefile.global README.MAILINGLIST_RULES scripts win32
ext makerpm README.namespaces server-tests-config.php Zend
EXTENSIONS missing README.PARAMETER_PARSING_API server-tests.php
[root@localhost php-5.3.27]#./configure \
--prefix=/usr/local/php \
--enable-fpm \
--with-mysql=/usr/local/mysql/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-config-file-path=/usr/local/php/etc \
--with-iconv-dir=/usr/local/libiconv/ \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr/ \
--enable-xml \
--disable-rpath \
--enable-discard-path \
--enable-safe-mode \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-ldap \
--with-ldap-sasl \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-zend-multibyte \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
回车即可。
[root@localhost php-5.3.27]# make ZEND_EXTRA_LIBS='-liconv' //编译时,支持编码转换的扩展库
[root@localhost php-5.3.27]# make install //安装完成
[root@localhost php-5.3.27]# cp php.ini-production /usr/local/php/etc/php.ini #拷贝php配置文件
[root@localhost php-5.3.27]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf #将mysql的lib库文件目录加入到ldconfig
[root@localhost php-5.3.27]# tail -1 /etc/ld.so.conf
/usr/local/mysql/lib
[root@localhost php-5.3.27]# ldconfig //刷新
[root@localhost php-5.3.27]# cd /usr/local/php/etc/
[root@localhost etc]# ls
pear.conf php-fpm.conf.default php.ini
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf //拷贝fast-cgi动态网页配置文件
[root@localhost etc]# ls
pear.conf php-fpm.conf php-fpm.conf.default php.ini
[root@localhost etc]# vim php-fpm.conf //fast-cgi配置文件,配置动态网页参数
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = error
daemonize = yes #上面这些释放,下面的不用修改
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
pm=dynamic #模式:动态启动进程
pm.max_children=5 #最大启动进程数
pm.start_servers=2 #默认启动个数
pm.min_spare_servers=1 #最小空闲个数
pm.max_spare_servers=3 #最大空闲个数
wq
简单操作:
[root@localhost etc]# sed -i '25s#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' php-fpm.conf
[root@localhost etc]# sed -i '32s#;error_log = log/php-fpm.log#error_log = log/php-fpm.log#g' php-fpm.conf
[root@localhost etc]# sed -i '50s#;log_level = notice#log_level = notice#g' php-fpm.conf
[root@localhost etc]# sed -i '89s#;daemonize = yes#daemonize = yes#g' php-fpm.conf
[root@localhost etc]# ls /php/php-5.3.27/sapi/fpm/
config.m4 fpm init.d.php-fpm.in Makefile.frag php-fpm.8 php-fpm.conf php-fpm.service status.html
CREDITS init.d.php-fpm LICENSE php-fpm php-fpm.8.in php-fpm.conf.in php-fpm.service.in status.html.in
[root@localhost etc]# cd /php/php-5.3.27/sapi/fpm/
[root@localhost fpm]# cp init.d.php-fpm /etc/init.d/php-fpm #拷贝启动动态网页的fast-cgi服务脚本
[root@localhost fpm]# chmod +x /etc/init.d/php-fpm
[root@localhost fpm]# /etc/init.d/php-fpm start
Starting php-fpm done
4.修改nginx配置文件,调用fast-cgi动态网页
[root@localhost fpm]# cd
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root www;
index index.html index.htm;
}
}
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root bbs;
index index.php index.html index.htm;
} //上面修改,下面释放并修改
location ~ \.php$ {
root bbs;
fastcgi_pass 127.0.0.1:9000; //客户请求匹配php的页面,定义交个后面的fastcgi
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; //需修改
include fastcgi_params;
}
}
}
wq //此处的document_root是调用了下面配置文件
也可使用下面简单方法:
sed -i '45s#index index.html index.htm#index index.php index.html index.htm#g' /usr/local/nginx/conf/nginx.conf
sed -i '65s#\#location#location#g' /usr/local/nginx/conf/nginx.conf
sed -i '66s#\###g' /usr/local/nginx/conf/nginx.conf
sed -i '67s#\###g' /usr/local/nginx/conf/nginx.conf
sed -i '68s#\###g' /usr/local/nginx/conf/nginx.conf
sed -i '69s#\# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name#g' /usr/local/nginx/conf/nginx.conf
sed -i '70s#\###g' /usr/local/nginx/conf/nginx.conf
sed -i '71s#\###g' /usr/local/nginx/conf/nginx.conf
[root@localhost etc]# ls /usr/local/nginx/conf/
fastcgi.conf fastcgi_params.default mime.types nginx.conf.default uwsgi_params
fastcgi.conf.default koi-utf mime.types.default scgi_params uwsgi_params.default
fastcgi_params koi-win nginx.conf scgi_params.default win-utf
[root@localhost etc]# cat /usr/local/nginx/conf/fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
[root@localhost etc]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost etc]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost etc]# /etc/init.d/php-fpm restart
[root@localhost etc]# netstat -anptu |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6111/nginx
tcp 0 0 192.168.40.139:54887 223.119.248.25:80 ESTABLISHED 2423/clock-applet
[root@localhost etc]# netstat -anptu |grep fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 59122/php-fpm
[root@localhost etc]# cat <<eof > /usr/local/nginx/html/index.php
> <?php phpinfo(); ?>
> eof
[root@localhost etc]# cat /usr/local/nginx/html/index.php
<?php phpinfo(); ?>
5.服务器建立测试连接mysql程序的代码,测试php是否能连接mysql
[root@localhost ~]# cat /usr/local/nginx/html/linkdb.php
<?php
$linkdb=mysql_connect("192.168.37.129","test1","test1"); #mysqL数据库的IP,用户名和密码
if($linkdb){
echo "db ok";
}else{
echo "db no";
}
?>
在服务器192.168.37.129上安装mysql5.5.32
1.源码安装mysql5.5.32
[root@localhost ~]# mkdir /mysql
rz上传mysql5.5包和cmake包
[root@localhost ~]# ls /mysql/
cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
1)先安装cmake,并安装最后提示运行gmake方式来安装cmake软件
[root@localhost ~]# cd /mysql/
[root@localhost mysql]# ls
cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
[root@localhost mysql]# yum -y install gcc gcc-c++
[root@localhost mysql]# tar -zxf cmake-2.8.8.tar.gz
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
[root@localhost mysql]# cd cmake-2.8.8
[root@localhost cmake-2.8.8]# ls
bootstrap CMakeCPackOptions.cmake.in cmake_uninstall.cmake.in CTestConfig.cmake DartLocal.conf.in Modules Tests
ChangeLog.manual CMakeGraphVizOptions.cmake CompileFlags.cmake CTestCustom.cmake.in Docs Readme.txt Utilities
ChangeLog.txt CMakeLists.txt configure CTestCustom.ctest.in doxygen.config Source
CMakeCPack.cmake CMakeLogo.gif Copyright.txt DartConfig.cmake Example Templates
[root@localhost cmake-2.8.8]# ./configure
……
CMake has bootstrapped. Now run gmake. #提示运行gmake ,可能make也行,没试过
[root@localhost cmake-2.8.8]# gmake
[root@localhost cmake-2.8.8]# gmake install
[root@localhost cmake-2.8.8]# cd ..
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
2)安装mysql依赖包:
[root@localhost mysql]# yum -y install ncurses-devel
3)用cmake软件包安装mysql5.5:
[root@localhost mysql]# groupadd mysql
[root@localhost mysql]# useradd mysql -s /sbin/nologin -M -g mysql
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32.tar.gz
[root@localhost mysql]# tar -zxf mysql-5.5.32.tar.gz
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32 mysql-5.5.32.tar.gz
[root@localhost mysql]# cd mysql-5.5.32
[root@localhost mysql-5.5.32]# ls
BUILD CMakeLists.txt COPYING include libmysqld mysys regex sql-common tests win
BUILD-CMAKE cmd-line-utils dbug INSTALL-SOURCE libservices packaging scripts storage unittest zlib
client config.h.cmake Docs INSTALL-WIN-SOURCE man plugin sql strings VERSION
cmake configure.cmake extra libmysql mysql-test README sql-bench support-files vio
[root@localhost mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.32 \
-DMYSQL_DATADIR=/usr/local/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0 \
回车,….
[root@localhost mysql-5.5.32]# echo $?
0
[root@localhost mysql-5.5.32]# make && make install
[root@localhost mysql-5.5.32]# ls /usr/local/mysql-5.5.32/
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
[root@localhost mysql-5.5.32]# ln -s /usr/local/mysql-5.5.32/ /usr/local/mysql
[root@localhost mysql-5.5.32]# ls /usr/local/mysql
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
[root@localhost mysql-5.5.32]# cd ..
[root@localhost mysql]# ls
cmake-2.8.8 cmake-2.8.8.tar.gz mysql-5.5.32 mysql-5.5.32.tar.gz
4)拷贝mysql配置文件:
[root@localhost mysql]# cp mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf
5)配置mysql环境变量:
[root@localhost mysql]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
[root@localhost mysql]# tail -1 /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# echo $PATH
/usr/local/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
6)授权数据目录和初始化mysql5.5:
[root@localhost mysql]# ls /usr/local/mysql
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files #data目录已经有了
[root@localhost mysql]# ls /usr/local/mysql/data/
test
[root@localhost mysql]# chown -R mysql.mysql /usr/local/mysql/data/
[root@localhost mysql]# chmod -R 1777 /tmp/ #1是粘贴位,授权是防止/tmp权限有问题
[root@localhost mysql]# ls /usr/local/mysql/scripts/
mysql_install_db #初始化脚本
[root@localhost mysql]# cd /usr/local/mysql/scripts/
[root@localhost scripts]# ls
mysql_install_db
初始化数据库:
[root@localhost scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql
回车
7)拷贝启动脚本:
[root@localhost scripts]# ls /mysql/mysql-5.5.32/support-files/mysql.server
/mysql/mysql-5.5.32/support-files/mysql.server
[root@localhost scripts]# cp /mysql/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
[root@localhost scripts]# chmod +x /etc/init.d/mysqld
[root@localhost scripts]# /etc/init.d/mysqld start
Starting MySQL... [ OK ]
[root@localhost scripts]# netstat -anptu |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 8482/mysqld
8)为mysql增加密码(不是修改):
[root@localhost scripts]# mysqladmin -u root password '123'
2.创建一个测试库,供php程序连接mysql
[root@localhost scripts]# mysql -uroot -p123
mysql> create database test1; #创建一个库,供php连接mysql
mysql> grant all on test1.* to test1@"%" identified by "test1"; #授权一个用户,供php连接mysql
mysql> flush privileges;
mysql> quit
[root@localhost scripts]# /etc/init.d/mysqld stop
[root@localhost scripts]# /etc/init.d/mysqld start
[root@localhost scripts]# chkconfig mysqld on
[root@localhost scripts]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
widows客户端访问服务器页面:
1)能解析php
2)php能够连接mysql
如果对运维课程感兴趣,可以在b站上、csdn或微信视频号 上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频