clang编译mysql(Ubuntu10 64位)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 编译安装mysql(Ubuntu10 64位) http://www.cnblogs.com/2018/p/3482259.html 这个介绍了gcc形式编译安装mysql 那我们使用clang进行编译一下看看具体的效果 编译安装mysql(Ubuntu10 64位) 已经描述了mysql的编译...

编译安装mysql(Ubuntu10 64位) http://www.cnblogs.com/2018/p/3482259.html 这个介绍了gcc形式编译安装mysql

那我们使用clang进行编译一下看看具体的效果

编译安装mysqlUbuntu10 64已经描述了mysql的编译安装情况,由于clang的性能比较高,现在实验一下mysqlclang编译

经试验,主要解决如下的问题即可

v ABI_CHECK

n 这个问题表现是配置完成后,编译时会出现ABI的报错,google了一下,由于官方没有直接clang的支持,因此可以忽略,网上有人这样用过

v Clang编译器的引入

n 或者在cmake的配置文件修改,或者使用环境变量进入,使用一个简单的形式如下,引入clang编译器即可

export CXX=clang++

export CC=clang

最初我看了一下clang++连接到的就是clang,因此我想当然的认为直接都设置为clang就行,不过编译会出错提示AES undefined reference operator delete(void*),具体看了一下原因,如下的地址

clang vs calng++

http://stackoverflow.com/questions/14226840/c-11-threads-with-clang

 

如上处理就可以了编译和安装了,具体的脚本如下:

if [ -d mysql-5.6.15 ]; then

echo "mysql代码已经存在了"

else

tar xzf mysql-5.6.15.tar.gz

fi

#cmake/abi_check.cmake ABI检查的问题,可以跳过

# LINE30 SET(RUN_ABI_CHECK 0)

cp -f abi_check.cmake mysql-5.6.15/cmake/abi_check.cmake

 

mkdir -p build

pushd build

 

if [ -f CMakeCache.txt ]; then

make clean

rm -f CMakeCache.txt

fi

#使用clang编译

export CXX=clang++

export CC=clang

 

#编译时看看是否启用了clang

 

cmake ../mysql-5.6.15 \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DCMAKE_BUILD_TYPE=Release \

-DSYSCONFDIR=/etc \

-DINSTALL_SBINDIR=/usr/local/mysql/bin \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_TCP_PORT=3306 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EMBEDDED_SERVER=0 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=0 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=0 \

-DWITH_MEMORY_STORAGE_ENGINE=0 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=0 \

-DWITH_EXTRA_CHARSETS=none \

-DWITH_DEBUG=0 \

-DWITH_ASAN=1 \

# -DENABLE_DOWNLOADS=0 \

 

#end of cmake

if [ $? -ne 0 ];

then

echo -e "\e[1;41m cmake's config error! \e[0m"

exit 1

fi

make

if [ $? -ne 0 ];

then

echo -e "\e[1;41m cmake done! \e[0m"

exit 1

fi

 

popd

echo "The package is in build directory!"

 

参考资料

http://pan.baidu.com/s/1Cc7cr source/mysql5.6 下是相关的资料

mysql_clang.sh my.cnf abi_check.cmake 使用clang编译和安装mysql的脚本

 

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Ubuntu 关系型数据库 MySQL
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
30 2
|
3月前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu下Mysql安装与root密码重置教程】
请注意,以上步骤是针对Ubuntu系统的。如果你使用的是其他Linux发行版,请相应地调整命令。
110 1
|
1月前
|
Ubuntu 关系型数据库 MySQL
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
|
1月前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
69 0
|
3月前
|
Ubuntu 固态存储 算法框架/工具
ubuntu下编译ssd-caffe遇到的问题汇总
ubuntu下编译ssd-caffe遇到的问题汇总
|
2月前
|
Ubuntu 安全 关系型数据库
在 Ubuntu上安装 MySQL
在 Ubuntu上安装 MySQL
68 0
|
3月前
|
Ubuntu C++
百度搜索:蓝易云【Ubuntu下编译OCC教程】
请注意,以上只是概述,并不包含详细的步骤和指令。编译OpenCASCADE是一个复杂的过程,需要有一定的编译和C++编程经验。建议在编译OpenCASCADE之前,先学习相关知识并查阅官方文档和教程,以确保正确编译和使用OpenCASCADE库。
26 0
|
3月前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu安装MySQL5.7教程】
现在,你已经在Ubuntu上成功安装了MySQL 5.7。可以使用root用户和之前设置的密码登录MySQL服务器。
37 0
|
3月前
|
Ubuntu 关系型数据库 MySQL
ubuntu 安装 mysql
ubuntu 安装 mysql
37 0
|
3月前
|
Kubernetes NoSQL Linux
Ubuntu18.04 gRPC编译安装
Ubuntu18.04 gRPC编译安装