mysql编译cmake
⑴ cmake安装mysql编译提示错误,错误提示如下,请大家指教,谢谢!
错误提示里说你的计算机上没有一个可用的Boost库或版本太低,MySQL需要不低于Boost 1.57.0的版本。您应该尝试下载一个Boost,并且完成编译。

您应该会得到上面图片中的大部分文件,除了几个我自己添加的辅助编译的脚本。
完成之后请再尝试重新编译MySQL。
附注:编译后生成的二进制库保存在Boost根目录下stagelib中,请根据MySQL的编译步骤中的指示填写在Makefile里面或者加入环境变量(具体的我不太清楚,需要您视具体情况而定)。
⑵ 编译安装mysql-5.7.17时,在cmake选项中将端口改成80后在后面执行启动命令时就会报错
不能设置80端口,80端口是系统默认保留的,你改一下端口1500-2000都行
⑶ 编译环境cmake+gcc怎么编译mysql源码
方法/步骤
1
在安装mysql数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysql首先通过putty登入进你的Linux系统,确保系统中已经安装的gcc c++ 等编译环境,因为mysql从5.5版本开始是使用cmake编译的,如果三个环境都没安装,可以使用下面的命令进行安装:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2
查找系统里是否已经安装了mysql数据库的相关组件,使用命令:rpm -qa | grep mysql 进行查找,如果查找到,可以使用下面命令进行强制卸载:rpm -e --nodeps 包名
如果你当时在安装Linux系统时,使用的默认的安装选项,这一步可以跳过;
⑷ 怎么查mysql5.5,用cmake安装时的编译参数
# cd /usr/local/mysql5.5/docs
# vim INFO_BIN (其中 Pointer size: 4 一行之后的内容就是所要的参数,需要注意的是,这里的参数的书写格式并不是在执行 cmake 命令时参数的标准格式 ,使用的时候要去掉 :BOOL或 PATH: 等字符)
===== Information about the build process: =====
Build was run at 2014-09-13 23:14:29 on host 'rhel5-8-1.breeze.com'
Build was done on Linux-2.6.18-308.el5 using i686
Build was done using cmake 3.0.2
===== Compiler flags used (from the 'sql/' subdirectory): =====
# compile C with /usr/bin/cc
# compile CXX with /usr/bin/c++
C_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER
CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER
Pointer size: 4
===== Feature flags used: =====
-- Cache values
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql5.5
COMMUNITY_BUILD:BOOL=ON
⑸ MySQL cmake编译时这些参数是什么意思
MySQL cMake 常规参数介绍
-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
-DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)
prefix官方推荐设为/usr
类型csv,myisam,myisammrg,heap,innobase,archive,blackhole
若想启用某个引擎的支持:-DWITH_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
若想禁用某个引擎的支持:-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)
-DWITH_SSL=system 启用ssl库支持(安全套接层)
-DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)
-DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)
-DMYSQL_TCP_PORT=3306 指定TCP端口为3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径
-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持
-DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all)
-DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8
-DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)
-DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持
-DMYSQL_USER=mysql 指定mysql用户(默认为mysql)
-DWITH_DEBUG=0 禁用debug(默认为禁用)
-DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)
-DWITH_COMMENT='string' 一个关于编译环境的描述性注释
⑹ mysql为什么要用cmake编译
设置LINUX自动匹配环境变量
1.$su #su进入root
#vi /etc/profile
在文件末尾加上下列语句:
PATH=$PATH:/sbin #在PATH变量后追加/sbin目录
export PATH=$PATH:/sbin #设置变量为全局的
保存并退出。
退出root并在终端运行
$source /etc/profile #该命令的作用是重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登好了在终端中输入ifconfig 创建用户和组
groupadd mysql // 建一个msyql的用户和组
useradd -g mysql mysql -s /usr/sbin/nologin
mkdir /usr/local/mysql // 创建目录
mkdir /usr/local/mysql/data // 数据仓库目录
安装mysql
tar -zxvf mysql-5.5.14.tar.gz
cd mysql-5.5.14
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
PS: cmake的时候,参数可以不用那么多,只要一个-DCMAKE_INSTALL_PREFIX=/usr/local/mysql就行了,我们可以在 my.cnf里面配置。[mysqld]中的内容,看看你后的my.cnf有没有这些设置,有就不用了在设置了。
make && make install
如果需要更改配置,则:
make clean
rm -f CMakeCache.txt
复制配置文件
cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
设置权限
chmod +x /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
配置开机自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --list
//update-rc.d mysql defaults (/sbin/chkconfig --add mysql ; /sbin/chkconfig mysql on)
chkconfig --add mysql
chkconfig mysql on
chkconfig --list mysql
修改my.cnf配置
gedit /usr/local/mysql/my.cnf
[mysqld] 添加:
datadir=/usr/local/mysql/data
default-storage-engine=MyISAM
以下可选:
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
user = mysql
tmpdir = /tmp
安装默认数据表
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
启动MySQL
/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &
最后的“&”表示在后台运行,或者使用 /etc/init.d/mysql start (service mysql start)启动
设置MYSQL命令行路径
mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,系统在/usr/bin下面查此命令
解决办法是: ln -s /usr/local/mysql/bin/mysql /usr/bin
测试MySQL是否启动
1)查看是否有进程mysql
ps -ef | grep mysql
2)查看端口是否运行
netstat -tnl | grep 3306
3)读取mysql版本信息
/usr/local/mysql/bin/mysqladmin version
至此,MySQL安装完成。
三、错误解决
1.libstdc++.so依赖问题:使用命令yum install gcc
⑺ mysql为什么要用cmake编译
1.prepare阶段,redo log落盘前,mysqld crash
2.prepare阶段,redo log落盘后,binlog落盘前,mysqld crash
3.commit阶段,binlog落盘后,mysqld crash
对于第一种情况,由于redo没有落盘,毫无疑问,事务的更新肯定没有写入磁盘,数据库的一致性受影响;
⑻ Mysql5.5.30使用Cmake编译不通过,报出如下错误:
出现该错误的原因是下载的MySQL版本不对。如果是源码来安装,需按照如下方式下载!
#1.登录MySQL官网,并找到社区版下载地址
http://dev.mysql.com/downloads/mysql/5.6.html#downloads
#2.选择平台时,选择Source Code

#3.然后找到符合自己操作系统版本的MySQL,下载即可;
⑼ cmake怎样编译安装mysql
用cmake的应该是mysql5.5的版本,之前都是用make的。我安装的使用应该没有使用过.(点)。linux下作为参数传递给命令的.(点)一般代表当前目录
⑽ Mysql5.5.30使用Cmake编译不通过,报出错误,该如何解决
应该是版本下载错误
