《CentosMySQL源码编译安装.docx》由会员分享,可在线阅读,更多相关《CentosMySQL源码编译安装.docx(15页珍藏版)》请在第一文库网上搜索。
1、MySQL 源码编译安装(CentOS-6.7+MySQL-5.7)部署环境操作系统:Boost库版本:My SQL版本:操作用户:root系统IP:主机名:cp-mysql-01配置:4核、4G内存一、服务器配置:1、酉己置网络 # vi etcsysconfignetwork-scriptsifcfg-ethO2、设置主机名# vi etcsysconfignetworkNETWORKING=yesHOSTNAME=cp-mysql-013、设置IP与主机名的映射# vi etchosts127.0.0.1 cp-mysql-01192.168.254.231 cp-mysql-014、两
2、台数据库服务器的的selinux都要disable (永久关闭selinux,请修etcselinuxconfig,将 SELINUX 改为 disabled)# vi etcselinuxconfigSELINUX=disabled5、重启操作系统# reboot二、源码安装 MySQL5.7.16:1、使用下面的命令检查是否安装有MySQL Server:# rpm -qa grep mysqlmysql如果是CentOS7以上,请使用以下命令查看:# rpm -qa grep mariadbmariadb(因为没有MySQL服务,因此没必要卸载。mysql-libs是MySQL的必要包)
3、(如果有的话可通过下面命令来卸载掉,rpm -e mysql 普通删除模式)2、改防火墙设置,打开3306端口:# vi etcsysconfigiptables增加如下行:# # MySQL# A INPUT -p tcp -m state -state NEW -m tcp -dport 3306 -j ACCEPT重启防火墙:# service iptables restart3、新增mysql用户组:# groupadd mysql4、新增mysql用户,并添加到mysql用户组:# useradd -r -g mysql mysql5、新建MySQL执行文件目录(后面会把编译好的my
4、sql程序安装到这个目录):# mkdir -p usrlocalmysql(-P参数的作用是:如果最终目录的父目录不存在也会一并创建)6、新建MySQL数据库数据文件目录:# mkdir -p homemysqldata# mkdir -p homemysqllogs# mkdir -p homemysqltemp(注意:上面的logs及temp目录是为了以后将MySQL的数据文件与执行程序文件分离,如果你打算设置到不同的路径,注意修改对应的执行命令和数据库初始化脚本。正式生产环 境,建议数据目录和日志目录都使用单独的分区来挂载,不同分区属于不同的磁盘或磁盘组。)7、增加PATH环境变量搜索
5、路径:# vi etcprofile# #在profile文件末尾增加两行# mysql env paramPATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATHexport PATH使PATH搜索路径立即生效:# source etcprofile8、安装编译MySQL需要的依赖包:(mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具体的cmake编译参数可以参考mysql官网文档,安装基 本依赖包,先用yum安装cmake、automake autoconf ,另 MySQL 5.5.x 需要最少安
6、装的 包有:bison,gcc、gcc-c+ +、ncurses-devel):# yum install make cmake gcc gcc-c+ bison bison-devel ncursesncurses-devel autoconf automake9、iusrlocalsrc 目录,上传,mysql-5.7.16.tar.gz 源代码到usrlocalsrc 目录:# cd usrlocalsrc10安装boost,解压源码包,并拷贝到usrlocal下# tar-zxvf# cp -R boost_l_59_0 usrlocalboost11、开始编译安装mysql-5.7.
7、16:解压缩源码包:# tar-zxvf进入解压缩源码目录:# cd mysql-5.7.16使用cmake源码安装mysql(如果你打算安装到不同的路径,注意修改下而语句中 usrlocalmysql 和homemysqldata 路径!)# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql # DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock # DDEFAULT_CHARSET=utf8 # DDEFAULT_COLLATION = utf8_general_ci # DWITH_MYISAM_STORAG
8、E_ENGINE= 1 # DWITH_INNOBAS E_STO RAG E_ENGINE=1 # DWITH_ARCHIVE_STORAGE_ENGINE=1 # DWITH_BLACKHOLE_STORAGE_ENGINE=1 # DWITH_MEMORY_STORAGE_ENGINE=1 # DWITH_READLINE=1 -DENABLED LOCAL INFILE=1 -DMYSQL_DATADIR=/home/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS = 1 -DDOWNLOAD
9、_BOOST=1 -DWITH_BOOST=usrlocalboost上面的这些复制完,回车,然后就开始cmake的过程,一般时间不会很长。配置解释:-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 设置安装目录-DMYSQL_DATADIR=/home/mysql/data 设置数据库存放目录-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 设置 UNIXsocket目录-DMYSQL_USER=mysql设置运行用户-DDEFAULT_CHARSET=utf8 设置默认字符集,默认 latinl-DEFAULT_COL
10、LATION = utf8_general_ci 设置默认校对规则,默认latinl_general_ci-DWITH_INNOBASE_STORAGE_ENGINE=1 添力口 InnoDB 引擎支持-DENABLE_DOWNLOADS = 1自动下载可选文件,比如自动下载谷歌的测试包-DMYSQL_TCP_PORT=3306设置服务器监听端口,默认3306-DSYSCONFDIR=etc设置f所在目录,默认为安装目录)执行过程中会出现:CMake Error: Problem with tar_extract_all(): Invalidargument CMake Error: Prob
11、lem extracting tar:/usr/local/srcsource_downloads/gmock解决方法:cd mysql目录下面会发现有一个source_downloads目录,需要解压unzip gmock-L6Q.zip,然后再重新执行上述配置过程。当然你也可以去掉-DENABLE_DOWNLOADS = 1这个选项,不编译谷歌的测试包也没有什么问题,但是之前的某些版本会出现无法编译的问题.12、cmake结束后开始编译源码,这一步时间会较长,请耐心等待:17、初始化脚本在usrlocalmysql下生成了配置文件f,需要更改该配置文件的所有者:# Is -lahroot0
12、edu-ysql-Ol mysql # Is -lahtotal 184Kdrwxr-xr-X .13mysqlmysql4.0KDec131525drwxr-xr-X.14rootroot4. OKDec131401 drwr-r-X.2mysqlmysql4. OKDec131513bin-rw-rr-.1mysqlmysql18KJul150534COPYINGdrwxr-xr-X.3mysqlmysql4.0KDec131513datadrwxr-xr-X.2mysqlmysql4.0KDec131513docsdrwxr-xr-x.3mysqlmysql4. OKDec131513i
13、nclude-rw-r-r-1mysqlmysql103KJul150534INSTALL-B INARYdrwxr-xr-X.3mysqlmysql4.0KDec131513libdrwxr-xr-X.4mvslmvsl4. OKDec131513man-rw-rr-Erootroot943Dec131516fdrwxr-r-X rmysqlmysql4 . OKDec13lb14mysql-test-rw-rr-.1mysqlmysql2.5KJul150534READMEdrwxr-xr-X.2mysqlmysql4. OKDec131513scriptsdrwxr-xr-x28mysqlmysql4. OKDec131514sharedrwxr-xr-4mysqlmysql4. OKDec131514sql-bechdrwr-r- 2mysqlmysql4.0KDec131514support-filesrootedu-mysql-01 mysql# chown -Rf mysqkmysql usrlocalmysqlf18、注意:(l)Tips:在启动MySQL服务时,会按照一定次序搜索f,先在/etc目录下找,找不到则会搜索mysql程序目录下是否有f(2)需要注意CentOS 6版操作系统的最小安装完成