软件安装及管理

 

 
 
软件安装及管理
 
知识要点
软件的类型
RPM软件包安装及管理
Tar包安装、升级、卸载
脚本安装、升级、卸载
SRPM包安装
 
软件类型
软件是指计算机系统中的程序及其文档
程序必须装入机器内部才能工作
文档一般是给人看的,不一定装入机器
软件是用户与硬件之间的接口界面
系统软件(基础)和应用软件
 
软件开发:
程序开发:
资料开发:
 
测试
 
应用程序与系统命令的关系
文件位置
系统命令:一般在/bin(一般所有用户都可以使用)和/sbin(管理用户)目录中,或为Shell内部指令
应用程序:通常在/usr/bin和/usr/sbin目录中
主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具
应用程序:完成相对独立的其他辅助任务,例如网页浏览器
适用环境
系统命令:一般只在字符操作界面中运行
应用程序:根据实际需要,有些程序可在图形界面中运行
运行格式
系统命令:一般包括命令字、命令选项和命令参数
应用程序:通常没有固定的执行格式
 
典型应用程序的目录结构
文件类型
保存目录
普通执行程序文件
/usr/bin
服务器执行程序文件和管理程序文件
/usr/sbin
应用程序配置文件
/etc
日志文件
/var/log
应用程序文档文件
/usr/share/doc
应用程序手册页文件
/usr/share/man
软件包的封装类型
封装类型
说明
RPM软件包
扩展名为“.rpm”
SRPM软件包
包含原码(Source Code)的RPM文件
DEB软件包
扩展名为“.deb”
TAR软件包
一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 包含程序的原始代码
提供安装程序的软件包
在压缩包内提供install.sh、setup等安装程序 或以“.bin”格式的单个执行文件提供
绿色免安装的软件包
在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用
 
源代码编译概述
(tar包安装,没有加密,对外公开)
翻译-----编译和解释
时机不同
英文书
 
把所有的代码都翻译完成,再执行----编译
翻译一句,执行一句------解释
 
编译的运行速度快
方便开发:解释
编译器gcc
解释器shell
 
使用源代码安装软件的优点
获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能
应用场合举例
安装较新版本的应用程序时
自由软件的最新版本大都以源码的形式最先发布
当前安装的程序无法满足需要时
编译安装可由用户自行修改、定制功能
需要为应用程序添加新的功能时
用户可以重新配置、自由修改源代码,加入新的功能
编译安装源代码包
Tarball 封包:
.tar.gz 和 .tar.bz2 格式居多
软件素材参考:http://sourceforge.net
完整性校验
md5sum校验工具
计算MD5校验和,并与官方提供的值相比较,判断是否一致
确认源代码编译环境
需安装支持 C/C++程序语言的 编译器
gcc-4.1.1-52.el5、gcc-c++-4.1.1-52.el5
make-3.81-1.1.i386 ……
 
查询已经安装过哪些编译器
[root@localhost ~]# rpm -qa | grep gcc    //查询已经安装过哪些编译器
[root@localhost ~]# rpm -qa | grep make
[root@localhost ~]# gcc --version    //查看版本
 
编译安装过程
 
编译安装
编译安装注意事项
每一步骤成功执行是下一个步骤的基础
TAR包升级
利用patch命令打补丁
TAR包卸载
直接删除安装文件夹
少数软件执行make uninstall
安装httpd服务器 —— 编译安装
1. 解包
tar  zxvf httpd-2.2.20.tar.gz  -C  /usr/src/
2. 编译前的配置
cd  /usr/src/httpd-2.2.20
./configure --prefix=/usr/local/apache 
3. 编译并安装
make && make install
&& 链接两个命令,有条件连接
|| 前面异常退出,后面才会执行,前面正常,后面不会在执行
4. 启动httpd服务
/usr/local/apache/bin/apachectl start 
 
源代码安装步骤
1、获取源代码的安装包
2、校验安装包的完整性
3、解压
4、进去解压出来的目录,查看README(INSTALL)文件,里面有安装步骤
5、配置 ./configure
6、编译 make
7、安装 make iinstall
8.测试
 
/usr/local/src
windos文件---->Linux
 
RPM包管理工具
RPM Package Manager
由Red Hat公司提出,被众多Linux发行版所采用
建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系
RPM软件包
软件素材参考:http://rpmfind.net
一般命名格式:(文件名)
 
RPM包安装管理软件
 
主要功能
1. 查询RPM软件、包文件的相关信息
2. 安装、升级、卸载RPM软件包
3. 维护RPM数据库信息
查询RPM软件信息
查询已安装的RPM软件信息
格式:rpm -q[子选项] [软件名]
用法:结合不同的子选项 完成不同查询
-qa:查看系统中已安装的所有RPM软件包列表
-qi:查看指定软件的详细信息
-ql:查询指定软件包所安装的目录、文件列表
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
查询文件/目录属于哪个RPM软件
格式:rpm -qf 文件或目录名
查询未安装的RPM包文件
格式:rpm -qp[子选项] RPM包文件
用法:结合不同的子选项 完成不同查询
-qpi:通过.rpm包文件查看该软件的详细信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表
安装和升级rpm包软件
安装或升级RPM软件
格式:rpm [选项] RPM包文件...
用法:不同选项适用于不同情况
-i:安装一个新的rpm软件包
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装
卸载指定的RPM软件
格式:rpm -e 软件名
安装和升级rpm包软件辅助选项
辅助选项
--force:强制安装所指定的rpm软件包
--nodeps:安装、升级或卸载软件时,忽略依赖关系
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
安装、升级、卸载RPM软件包
安装有依赖关系的多个软件时
被依赖的软件包需要先安装
同时指定多个.rpm包文件进行安装
卸载有依赖关系的多个软件时
依赖其他程序的软件包需要先卸载
同时指定多个软件名进行卸载
忽略依赖关系
结合“--nodeps”选项,但可能导致软件异常
 
维护RPM数据库
RPM数据库:/var/lib/rpm目录下
故障原因
非正常关机、误删除运行中的程序文件
RPM数据文件被误写或删除
当RPM数据库损坏时,需要进行数据库重建
格式:rpm --rebuilddb或者 rpm --initdb
 
脚本安装软件
脚本安装步骤
如果没有执行权限,需要给文件加上可执行属性:chmod +x filename
执行命令:./filename,执行安装脚本进行安装。
注意查看readme帮助文件
脚本安装案例
安装永中office
安装openoffice
绿色免安装软件
安装linuxqq
 
SRPM包安装
RPM的缺点
安装的环境必须与打包时的环境需求一致或相当;
需要满足套件的相依属性需求;
卸载时需要特别小心,最底层的套件不可先移除,否则可能造成整个系统的问题!
SRPM
SRPM 文件里面含有源代码( Source Code )
SRPM 的文件名是以 ***.src.rpm 这种格式来命名
需要编译生成RPM包后才能进行安装
SRPM包安装
使用rpmbuild命令安装SRPM包
选项:
--rebuild
进行‘编译’与‘打包’的动作,最后会产生 RPM 的软件包,但是产生的 RPM 软件包并没有安装到系统上。最后通常会发现一行字体:
Wrote: /usr/src/redhat/RPMS/i386/pkgname.i386.rpm
--recompile
rebuild 仅‘编译并打包’而已,而 recompile 不但进行编译跟打包,还同时进行‘安装’了!
命令范例:
# rpmbuild --rebuild rp-pppoe-3.5-32.1.src.rpm
 
 
本章总结
 
了解linux下软件常见安装包
熟练掌握rpm包的管理操作
熟练掌握tar包的安装管理操作
熟练掌握srpm包的制作和安装流程
 
 
作业
 
练习:
根据上述学过的知识安装好webmin-1600.tar.gz这个软件,并能成功运行这个软件
 
 
 
安装http示例
 
导入安装包
配置
编译
编译安装
启动
 
 
//导入源码包:
apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.25.tar.bz2
 
 
//进入导入文件夹
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
//解压
[root@localhost src]# tar xf httpd-2.4.25.tar.bz2 
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
//查看解压文件
[root@localhost src]# cd httpd-2.4.25
[root@localhost httpd-2.4.25]# ls
ABOUT_APACHE     CHANGES         httpd.dep       LICENSE        README
acinclude.m4     CMakeLists.txt  httpd.dsp       Makefile       README.cmake
Apache-apr2.dsw  config.layout   httpd.mak       Makefile.in    README.platforms
Apache.dsw       config.log      httpd.spec      Makefile.win   ROADMAP
apache_probes.d  config.nice     include         modules        server
ap.d             config.status   INSTALL         modules.c      srclib
build            configure       InstallBin.dsp  modules.lo     support
BuildAll.dsp     configure.in    LAYOUT          modules.o      test
BuildBin.dsp     docs            libhttpd.dep    NOTICE         VERSIONING
buildconf        emacs-style     libhttpd.dsp    NWGNUmakefile
buildmark.o      httpd           libhttpd.mak    os
//查看readme
[root@localhost httpd-2.4.25]# more README
[root@localhost httpd-2.4.25]# more INSTALL
//配置
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache
********
//报错:相关文件apr未安装
//安装相关文件apr
configure: error:  APR not found.    Place read the documentation.
//查看相关文件安装包apr
[root@localhost httpd-2.4.25]# cd ..
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
//解压apr文件
[root@localhost src]# tar xf apr-1.5.2.tar.bz2
//进入/usr/local/src/apr-1.5.2,查看readme,,install
[root@localhost src]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ls
apr-1-config    buildconf         emacs-mode     LICENSE        random
apr-config.in   build.conf        encoding       locks          README
apr-config.out  build-outputs.mk  exports.c      Makefile       README.cmake
apr.dep         CHANGES           export_vars.c  Makefile.in    shmem
apr.dsp         CMakeLists.txt    file_io        Makefile.win   strings
apr.dsw         config.layout     helpers        memory         support
apr.exp         config.log        include        misc           tables
apr.mak         config.nice       libapr-1.la    mmap           test
apr.pc          config.status     libapr.dep     network_io     threadproc
apr.pc.in       configure         libapr.dsp     NOTICE         time
apr.spec        configure.in      libapr.mak     NWGNUmakefile  tools
atomic          docs              libapr.rc      passwd         user
build           dso               libtool        poll
[root@localhost apr-1.5.2]# more README
 
 
***********************
Configuring and Building APR on Unix
====================================
 
Simply;
 
   ./configure --prefix=/desired/path/of/apr
   make
   make test
   make install
***********************
//安装到/usr/local/apr
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
************
//报错
checking for gcc .... no
checking for cc  ....no
//缺少编译环境gcc等
//先挂载光盘,挂载到/mnt/
[root@localhost apr-1.5.2]# mount /dev/sr0 /mnt/
//进入挂载点,/mnt/Packages/
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6
[root@localhost mnt]# cd Packages/
[root@localhost Packages]# ls
*********
//筛选gcc
[root@localhost Packages]# ls gcc*
gcc-4.4.7-17.el6.x86_64.rpm           gcc-java-4.4.7-17.el6.x86_64.rpm
gcc-c++-4.4.7-17.el6.x86_64.rpm       gcc-objc-4.4.7-17.el6.x86_64.rpm
gcc-gfortran-4.4.7-17.el6.x86_64.rpm  gcc-objc++-4.4.7-17.el6.x86_64.rpm
gcc-gnat-4.4.7-17.el6.x86_64.rpm
//安装gcc-4.4.7-17.el6.x86_64.rpm 
//rpm格式,直接rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm
[root@localhost Packages]# rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm
warning: gcc-4.4.7-17.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
error: Failed dependencies:
cloog-ppl >=0.15 is needed by gcc-4.4.7-17.el6.x86_64
cpp =  4.4.7-17.el6 is needed by gcc-4.4.7-17.el6.x86_64
//报错,依赖性文件未安装,需要安装依赖性文件
[root@localhost Packages]# rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm cloog-ppl-0.15.7-1.2.el6.x86_64.rpm 
 
//libppl.so******************代表缺少开发性软件:文件名含有*****-devel***
//继续安装相关依赖性文件
[root@localhost Packages]# rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm cloog-ppl-0.15.7-1.2.el6.x86_64.rpm cpp-4.4.7-17.el6.x86_64.rpm ppl-0.10.2-11.el6.x86_64.rpm gmp-devel-4.3.1-10.el6.x86_64.rpm mpfr-2.4.1-6.el6.x86_64.rpm
//安装完毕,安装顺序无所谓
//回到apr下开始安装
[root@localhost Packages]# cd /usr/local/src/
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
[root@localhost src]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ls
apr-1-config    buildconf         emacs-mode     LICENSE        random
apr-config.in   build.conf        encoding       locks          README
apr-config.out  build-outputs.mk  exports.c      Makefile       README.cmake
apr.dep         CHANGES           export_vars.c  Makefile.in    shmem
apr.dsp         CMakeLists.txt    file_io        Makefile.win   strings
apr.dsw         config.layout     helpers        memory         support
apr.exp         config.log        include        misc           tables
apr.mak         config.nice       libapr-1.la    mmap           test
apr.pc          config.status     libapr.dep     network_io     threadproc
apr.pc.in       configure         libapr.dsp     NOTICE         time
apr.spec        configure.in      libapr.mak     NWGNUmakefile  tools
atomic          docs              libapr.rc      passwd         user
build           dso               libtool        poll
//开始安装
[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
//安装成功
//开始编译,转换成二进制
[root@localhost apr-1.5.2]# make
//开始编译安装,创建安装目录,将编出来的二进制文件和配置文件复制到安装目录
[root@localhost apr-1.5.2]# make install
//apr安装成功
//返回httpd-2.4.25
[root@localhost apr-1.5.2]# cd ../
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
[root@localhost src]# cd httpd-2.4.25
//执行
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache
//报错,APR-util未安装,安装APR-util
configure: error: APR-util not found.   Please read the documentation.
[root@localhost httpd-2.4.25]#
//
[root@localhost httpd-2.4.25]# cd ..
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
[root@localhost src]# tar xf apr-util-1.5.4
//进入解压目录
[root@localhost src]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ls
aprutil.dep     build-outputs.mk  export_vars.c      memcache
aprutil.dsp     CHANGES           export_vars.sh     misc
aprutil.dsw     CMakeLists.txt    export_vars.sh.in  NOTICE
aprutil.exp     config.layout     hooks              NWGNUmakefile
aprutil.mak     config.log        include            README
apr-util.pc     config.nice       ldap               README.cmake
apr-util.pc.in  config.status     libaprutil-1.la    renames_pending
apr-util.spec   configure         libaprutil.dep     strmatch
apu-1-config    configure.in      libaprutil.dsp     test
apu-config.in   crypto            libaprutil.mak     uri
apu-config.out  dbd               libaprutil.rc      xlate
buckets         dbm               LICENSE            xml
build           docs              Makefile
buildconf       encoding          Makefile.in
build.conf      exports.c         Makefile.win
//执行
[root@localhost apr-util-1.5.4]#./configure
//报错
checking for APR... no
configure: error: APR could not be located. Please use the --with-apr option.
//手工指定apr路径
[root@localhost apr-util-1.5.4]# ./configure --with-apr=/usr/local/apr
 
//编译
[root@localhost apr-util-1.5.4]# make
//编译安装
[root@localhost apr-util-1.5.4]# make install
//回到 httpd-2.4.25
[root@localhostapr-util-1.5.4]# cd ../
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
[root@localhost src]# cd httpd-2.4.25
//继续执行
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apache
//报错,pcer没有找到
configure: error:  pcre-config for libpcre not found.
//光盘有,进入/mnt/Packages 
[root@localhost apr-util-1.5.4]# cd /mnt/
[root@localhost mnt]# ls
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6
[root@localhost mnt]# cd Packages/
[root@localhost Packages]# ls
[root@localhost Packages]# ls pcre*
pcre-7.8-7.el6.x86_64.rpm  pcre-devel-7.8-7.el6.x86_64.rpm
//安装pcre-devel-7.8-7.el6.x86_64.rpm
[root@localhost Packages]# rpm -ivh pcre-devel-7.8-7.el6.x86_64.rpm
//回到 httpd-2.4.25
[root@localhost Packages]# cd
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# ls
apr-1.5.2          apr-util-1.5.4.tar.bz2        httpd-2.4.25.tar.bz2
apr-1.5.2.tar.bz2  bash-4.1.2-48.el6.x86_64.rpm
apr-util-1.5.4     httpd-2.4.25
[root@localhost src]# cd httpd-2.4.25
[root@localhost httpd-2.4.25]# 
//继续执行,编译前配置
[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apache
//没有报错
//开始编译
[root@localhost httpd-2.4.25]# make
//编译安装
[root@localhost httpd-2.4.25]# make instal
//安装完成,进入安装目录
[root@localhost src]# cd httpd-2.4.25
[root@localhost httpd-2.4.25]# cd /usr/local/apache/
[root@localhost apache]# ls
bin    cgi-bin  error   icons    logs  manual
build  conf     htdocs  include  man   modules
//进入/bin
[root@localhost apache]# cd bin
[root@localhost bin]# ls
ab         checkgid   envvars-std   htdbm     httpd       rotatelogs
apachectl  dbmmanage  fcgistarter   htdigest  httxt2dbm
apxs       envvars    htcacheclean  htpasswd  logresolve
//启动web服务,运行apachectl
[root@localhost bin]# ./apachectl start
//浏览器无法进入
//关闭防火墙
[root@localhost bin]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:
                                                           [  OK  ]
 
//浏览器可以正常进入
 
 
//进入代码文件夹
[root@localhost apache]# cd htdocs/
[root@localhost htdocs]# ls
index.html
//编辑代码
[root@localhost htdocs]# vim index.html
/*
<html>
<head>
</head>
<body>
<h1>Welcome To ChinaITSoft!
press "yes" to enter main frame!
</h1>
<button>yes</button>
</body>
</html>
*/
//退出vim
//浏览器输入虚拟机地址:172.16.66.66
 
 
 
 
 
编译安装mysql
 
 
获得以下所需的源代码包,并存放在/usr/local/src
与mysql相关:
boost_1_59_0.tar.gz cmake-3.6.2.tar.gz mysql-5.7.16.tar.gz
 
安装cmake前的依赖包的安装
检查gcc-c++ 、ncurses-devel是否安装,如果没有安装,先用yum进行安装
 
编译安装cmake工具
cd /usr/local/src
tar xf cmake-3.6.2.tar.gz
cd cmake-3.6.2
./bootstrap --prefix=/usr/local/cmake
make
make install  #如果前面没有指定安装目录,则默认安装到/usr/local/bin/cmake
 
建立mysql组和用户,并将mysql用户添加到mysql组
groupadd mysql
useradd -g mysql mysql
创建mysql数据文件存放的目录
mkdir /mydata
chown mysql:mysql /mydata
chmod o= /mydata              #设置其他人没有任何权限
 
编译安装mysql
cd /usr/local/src
tar xf mysql-5.7.16.tar.gz
cd mysql-5.7.16
/usr/local/cmake/bin/cmake .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/mydata -DWITH_BOOST=/usr/local/src  -DSYSCONFDIR=/etc  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1  -DEXTRA_CHARSETS=all  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_DEBUG=0  -DMYSQL_MAINTAINER_MODE=0  -DWITH_SSL:STRING=bundled  -DWITH_ZLIB:STRING=bundled
make && make install
 
更改mysql安装目录的属主属组并添加mysql环境变量
chown -R mysql:mysql /usr/local/mysql
vim /etc/profile.d/mysql.sh
文件内容是:
export PATH=$PATH:/usr/local/mysql/bin
执行命令:
bash                          #让新的PATH变量生效
 
加入服务列表并设置为开机自启
cd /usr/local/mysql/support-files
cp mysql.server  /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld on
 
修改mysql的配置文件
cat /etc/my.cnf
 
[mysql]
socket=/tmp/mysql.sock

[mysqld]
datadir=/mydata
socket=/tmp/mysql.sock
user=mysql
symbolic-links=0
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mydata/mysqld.pid
 
初始化mysql
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/mydata
说明:
##“-–initialize”会生成一个随机密码(~/.mysql_secret),而”–initialize-insecure”不会生成密码 ##user表示指定用户 ##basedir表示mysql的安装路径,datadir表示数据库文件存放路径
 
启动mysql服务
# service mysqld start
查看MySQL服务的进程和端口
# ps -ef | grep mysqld
root     22306     1  0 12:51 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/mydata --pid-file=/mydata/web1.deng.com.pid
mysql    22480 22306 12 12:51 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/mydata --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/mydata/web1.deng.com.pid --socket=/tmp/mysql.sock
 
# netstat -an | grep :3306
tcp        0      0 :::3306                     :::*                        LISTEN
 
初始化MySQL数据库的root用户密码
# mysql_secure_installation 
 
Securing the MySQL server deployment.
 
Connecting to MySQL using a blank password.
 
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
 
Press y|Y for Yes, any other key for No: y                  #需要修改密码,所以输入y
 
There are three levels of password validation policy:
 
LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file
 
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2          #设置密码复杂度为强
Please set the password for root here.
 
New password:
 
Re-enter new password:                                      #输入2次新密码
 
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y   #删除匿名用户
Success.
 
 
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
 
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y     #禁止root远程登录
 
 ... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
 
 
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y  #删除测试数据库
 - Dropping test database...
Success.
 
 - Removing privileges on test database...
Success.
 
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
 
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y  #重新加载权限表
Success.
 
All done!
 
将MySQL数据库的动态链接库共享至系统链接库
vim /etc/ld.so.conf.d/mysql.conf
文件内容是:
/usr/local/mysql/lib
 
ldconfig -v           让系统重新读取库文件
 
测试登陆MySQL数据库
# mysql -uroot -p
Enter password:             #输入刚才设置的新密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.14 Source distribution
 
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
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> exit
Bye
 
 
 
posted @ 2019-01-22 21:22  DBA_zzher  阅读(870)  评论(0编辑  收藏  举报