与服务器一起的日子

  • mysql
  • linux
  • 高可用
  • nginx
与服务器一起的日子
冰冷的机器也熄不灭火热的心
  1. 首页
  2. mysql
  3. 正文

centos7编译mysql5.7.19源代码

2017年11月12日 543点热度 0人点赞 0条评论

这是一篇填坑之作,作为我个人blog的第四篇博文,里面提及到了源码编译安装mysql,但是没有详细写,我经过一段时间的研究和摸索,探究出了在centos7上面编译安装mysql的通用方法(里面没有涉及到mysql编译调优),望大家喜欢这篇文章。

===============分割线===============

一.编译前的准备

1.安装相关的软件

yum -y install cmake gcc-c++ g++

2.安装相关依赖

yum -y install ncurses ncurses-devel openssl-devel bison

3.下载源代码包文件

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz

tar -zvxf mysql-5.7.19.tar.gz

二.编译

cd mysql-5.7.19

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql\
-DMYSQL_DATADIR=/var/mysql/data\
-DDEFAULT_CHARSET=utf8\
-DDEFAULT_COLLATION=utf8_general_ci\
-DMYSQL_TCP_PORT=3306\
-DMYSQL_USER=mysql\
-DWITH_MYISAM_STORAGE_ENGINE=1\
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_ARCHIVE_STORAGE_ENGINE=1\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
-DWITH_MEMORY_STORAGE_ENGINE=1\
-DENABLE_DOWNLOADS=1\
-DDOWNLOAD_BOOST=1\
-DWITH_BOOST=/root/boostst

等待cmake完成后,执行

make

make install

三.安装mysql服务

1.创建mysql用户与mysql用户组

cat /etc/group | grep mysql //查看是否存在mysql用户组

cat /etc/passwd | grep mysql //查看是否存在mysql用户

groupadd mysql //创建用户组

useradd -r -g mysql -s /sbin/nologin -M mysql //创建用户

2.移动(重命名)my.cnf文件

mv /etc/my.cnf /etc/my.cnf-`date +%F`

2.1 (将mysql服务加入开机自启动文件夹)

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

3.将MySQL数据库的动态链接库共享至系统链接库,这样MySQL服务就可以被其它服务调用了

ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20

4.加入运行环境

echo pathmunge /usr/local/mysql/bin after > /etc/profile.d/mysql.sh

. /etc/profile

5开机启动

 

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 345 mysqld on

6查看mysql开机启动项

chkconfig --list mysqld

7初始化库

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql/data

8启动(使用8.1或者82都可以)

/etc/init.d/mysqld start ##8.1

service mysqld restart  ##8.2

四.使用测试

在使用以及测试的时候 ,mysql的root是没有密码的,你可以先mysql -uroot进入mysql,然后进行更改密码进行使用。

 

===============分割线===============

1.对于cmake的说明:

CMake是一个跨平台的编译安装工具,可以用简单的语句来描述所有平台的编译安装过程。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的资源列表文件取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构(make)方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

2. cmke的各个参数的说明

DCMAKE_INSTALL_PREFIX      ##指定安装目录

DDEFAULT_CHARSET                ##默认字符集

DMYSQL_DATADIR                     ##数据的存储目录

DINSTALL_PLUGINDIR            ##插件安装目录

DWITH_INNOBASE_STORAGE_ENGINE##指定存储引擎

DDEFAULT_COLLATION         ##指定默认编码格式以及排序

DENABLE_DEBUG_SYNC       ## bug调试同步支持

DENABLED_LOCAL_INFILE   ##本地加载数据文件

DENABLED_PROFILING          ## 查询分析代码

DWITH_ZLIB                               ## zlib支持类型

DWITH_EXTRA_CHARSETS  ##指定额外字符集

DMYSQL_MAINTAINER_MODE ## MySQL维护特定的开发环境

DEXTRA_CHARSETS               ##字符集

DWITH_PERFSCHEMA_STORAGE_ENGINE   ## 将存储引擎PERFSCHEMA静态编译成服务器

DDOWNLOAD_BOOST           ##下载boost库

DWITH_BOOST                        ##本地boost库的存储位置

DMYSQL_TCP_PORT             ##端口号

官方文档...

官方翻译文档

标签: mysql 源码编译
最后更新:2017年11月12日

jhin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2024 与服务器一起的日子. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang