《基于cmake的mysql安装.docx》由会员分享,可在线阅读,更多相关《基于cmake的mysql安装.docx(5页珍藏版)》请在第一文库网上搜索。
1、1 基于cmake的mysq1安装1.1 前言从mysq15.5起,mysq1源码安装的编译工具COnfigUre开始向Cmake过渡。安装方式和之前的略有不同。在这里简单介绍总结下。安装之前,检查下GNUmake,GCC,Per1,Iibncurses5-dev,cmake-2.8.4是否都己经安装,如果没有安装,用yuminsta11安装补全1.2 安装Cmake# 进入源代码目录Cdusr1oca1src# 下载安装文件Wgethttp:/www.cmake.Org/fi1es/v2.8/cmake-2.8.4.tar.gz# 解压缩tarzxvfcmake-2.8.4.tar.gz#
2、安装cdcmake-2.8.4./bootstrapgmakegmakeinsta11# 退回源代码目录cd./1.3 cmake简介CMake是crossp1atformInake的缩写。它是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)O他能够输出各种各样的ITIakefiIe或者ProjeCt文件,能测试编译器所支持的C+特性,类似UN1X下的automakeo和之前COnfigUre的语法对比如下configureCommandCMakeCommand./configurecmake./configure-he1pcmake.-1Horccmake.重新
3、编译时,需要清除旧的对象文件和缓存信息对于COnfigUre需要执行如下命令makec1ean对于Cmake,则需要执行如下命令rm-fCMakeCache.txt安装选项的对比如下:ParameterconfigureOptionCMakeOptionInsta11ationbasedirectory-prefix=usr-DcmakejnstA11_PREFix=/usrmysq1ddirectory-IibexecdiTusrZsbin-DINSTA11-SBINDIR=SbinDatadirectory-1oca1statedir=var1ibmysq1-DMYSQ1_DATADIR=
4、/var/1ib/mysq1Configdirectory(f)-sysconfdir=etcmysq1-DSYSCONFDIR=etcmysq1P1ugindirectory-with-p1ugindir=usr1ib64mysq1p1ugin-D1NSTA11_P1UGINDIR=Iib64mysq1PIUginManpagedirectory-mandir=usrshareman-DINSTA11eMANDIR=ShareZmanShared-datadirectory-sharedstatedr=usrsharemysq1-DINSTA11-SHAREDIR=Share1ibraryi
5、nsta11ationdirectory-Iibdir=usr1ib64mysq1-DINSTA11_1IBDIR=1ib64/mysq1Headerinsta11ationdirectory-inc1udedir=usrinc1udemysq1-D1NSTA11-INC1UDED!R=ndudemysq1Infodocdirectory-infodir=usrshareinf-DINSTA11,INFODIR=shareinfoCMAKE_INSTA11.PREFIX值是安装的基本目录,其他CmakC选项值是不包括前缀,是相看路径名,绝对路径包括CMAKE_INSTA11.PREFIX路径。
6、COnfigUre编译插件选项一with-p1ugins=csv,myisam,myisammrg,heap,innobase,archive,b1ackho1e在CInake中没有直接对应的相同选项。对于csv,myisam,myisammrg,heap在Cmake中是不需要明确指定存储引擎的名称,因为它们是强制性安装。可以使用以下选择来安装innodb,archive,b1ackho1e存储引擎-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_B1ACKHO1E_STORAGE_ENGINE=1(1可
7、以使用On代替)1.4 安装bison-2.5#进入源代码目录Cdusr1oca1src# 下载安装文件Wgethttp:/ftp.gnu.Org/gnu/bison/bison-2.5.tar.gz# 解压缩tarzxvfbison-2.5.tar.gz# 安装cdbison-2.5./configuremakemakeinsta11#退回源代码目录cd./1.5 Mysq1安装# 创建mysq1用户和组usrsbingroupaddmysq1usrsbinuseradd-gmysq1mysq1mkdirusr1oca1mysq1mkdirusr1oca1mysq1data# 取源代码放到目
8、录下usr1oca1# 解压缩进入安装目录tarxvfmysq1-5.5.27.tar.gzcdmysq1-5.5.27#编译cmake-DCMAKENSTA11_PREFIX=/USMoCaI/mysq1-DMYSQ1_UNIX_ADDR=/usr/1oca1/mysq1/data/mysq1.sock-DDEFAU1T-CHARSET=UtfS-DDEFAU1T_C011ATI0N=utf8_genera1_ci-DW1TH_EXTRA_CHARSETS:STRING=utf8-DW1TH_MY1SAM_STORAGE_ENGINE=1-DW1TH_INNOBASE_STORAGE_ENG
9、INE=1-DWITH-READUNE=1-DENAB1ED-1OCA1JNFI1E=1-DMYSQ1.DATADIR=usr1oca1mysq1data-DMYSQ1JJSER=mysq1#安装Make&makeinsta111.6 安装后1.6.1 链接文件In-susr1oca1mysq11ib1ibmysq1c1ient.so.18usr1ib64#不执行这一步,运行时可能如F错误errorwhi1e1oadingshared1ibraries:Iibniysq1c1ient.so.18:cannotopensharedobjectfi1e:Nosuchfi1eordirectory1
10、.6.2 设置PATH环境变量ViZetcZprofi1e#在profi1e最后加上exportPATH=7usrIoCaI/mysq1/bin:$PATH”#保存后sourceZetcZprofi1e1.6.3 配置参数文件Cdsupport-fi1escpmy-fetcf#编辑f,加入以下内容basedir=usr1oca1mysq1datadir=usr1oca1mysq1data1og-error=/usr/1oca1/mysq1/data/mysq1_error.1ogpid-fi1e=usr1oca1mysq1datamysq1.pidsocket=usr1oca1mysq1dat
11、amysq1.socket如果己经有,则修改目录为mysq1的数据目录,此处是usr1oca1mysq1data1.6.4 设置权限Cdusr1oca1mysq1chown-Rmysq1.chgrp-Rmysq1.1.6.5 mysq1初始化安装Cdusr1oca1mysq1scripts/mysq1_insta11_dbdefau1ts-fi1e=etcfbasedir=usr1oca1mysq1user=mysq1-force如果产生错误1ike:4WARNING:Thehost*cou1dnotbe1ookedupwithreso1veip,执行时加上-force选项1.6.6 修改权限
12、#将安装目录所有权改为root,数据目录的所有权改为你运行mysq1d的用户Cdusr1oca1mysq1chown-Rroot.chown-Rmysq1data1.7 配置服务#配置服务Cdusr1oca1mysq1support-fi1escpmysq1.serveretcinit.dmysq1dchmod+xetcinit.dmysq1dchkconfigaddmysq1dchkconfig1eve1345mysq1don1.8 启动与停止mysq1servicemysq1dstartservicemysq1dstop1.9 设置Mysq1用户账号密码mysq1安装后默认生成两个帐号:一
13、个是root,未设置密码,可以从本机登录到mysq1;另一个是匿名帐号,无帐号名、无密码,可以从本机登录,未提供用户名的连接都将假定为此帐号。这样的设置存在着安全隐患,按下面的步骤进行更改。1)修改root的密码执行命令:usr1oca1mysq1binmysq1admin-uroot-p旧密码password新密码或者用root登录数据库#mysq1-uroot登录以后执行Mysq1setpasswordforroothoStname=password(新密码);或者执行Mysq1updatemysq1.usersetPaSSWOrd=PaSSWordC新密码)whereuser=roota
14、ndhost=,hostname,;如果不知道hostname,可先执行se1ecthost,userfrommysq1.userwhereuser=,root,2)删除匿名用户Root登录后执行mysq1de1etefrommysq1.userwhereUSer=;删除用户名为空的记录mysq1de1etefrommysq1.userwherepassword=,;删除密码为空的记录3)修改完用户权限以后,执行Mysq1f1ushprivi1eges;因为MySQ1启动后,所有用户权限都是加载到内存中的;但有些权限更新操作不会刷新到内存中,这样只有下次启动时才生效,如果直接UPdatemySq1USer来修改密码等;f1ushprivi1eges强制让MySQ1重新加载权限,这样刚才修改的就马上生效了。4)添加用1.10 f配置文件修改在f文件c1ient下增加user,password.修改SoCket路径,为真实路径。1.11 允许远程主机granta11on*.*to,root(),%identifiedbypassword