您的位置:首页 > 运维架构 > Linux

centos7编译安装mysql

2016-04-28 23:16 316 查看
先说一下环境,系统是centos7,要安装的mysql是最新版本5.7.12。



首先将压缩包进行解压,然后进入解压后的目录。



mysql新版本使用cmake的方式进行编译,从5.5还是5.6开始就换成cmake的方式了,以前的configure/make已经被抛弃了。

执行
cmake
指令后,发现系统中没有安装cmake,使用yum安装上cmake。



额外插一句,国内推荐使用163的repo,速度挺快的。

好的,现在安装好了cmake,可以执行了!



这是什么鬼,仔细一看,原来是没有找到c编译器,也就是gcc,好像是没有装。。



赶快把gcc装上,汗,太不专业了:)好吧我这是最小安装,大部份东西都没有……

不扯蛋了,还有个c++的编译器也没有,也需要安装,不过yum里可不叫g++,而是gcc-c++,输g++是找不到包的!



好了,继续cmake!(如果产生了CMakeCache.txt文件,则需要先删除此文件后再cmake)。



又出问题了,好吧,继续解决问题。

从描述来看,是缺少boost,而且信息里面已经给出了解决方案“-DDOWNLOAD_BOOST=1 -DWITH_BOOST=directory”,在cmake的时候加上这2个参数就能解决这个问题。”DDOWNLOAD_BOOST=1“表示自动下载,”-DWITH_BOOST=directory“则是指明BOOST安装的目录。

另外再说几个在cmake时需要添加的参数:(此部份参数解释转载自”云妹子“的原创文章

-DCMAKE_INSTALL_PREFIX=dir_name
设置mysql安装目录,默认是/usr/local/mysql

DMYSQL_UNIX_ADDR=file_name
设置mysql.sock路径,必须是绝对路径,默认是/tmp/mysql.sock

-DDEFAULT_CHARSET=charset_name
设置服务器的字符集,默认使用latin1字符集,可用字符集可以查看cmake/character_sets.cmake

-DDEFAULT_COLLATION=collation_name
设置服务器的排序规则,默认使用latin1_swedish_ci,也可以在cmake/character_sets.cmake中查到

-DWITH_INNOBASE_STORAGE_ENGINE=1
存储引擎选项:
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE=1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)

-DMYSQL_DATADIR=dir_name
设置mysql数据库文件目录

-DMYSQL_TCP_PORT=port_num
设置mysql服务器监听端口,默认为3306

-DENABLE_DOWNLOADS=bool
是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。


现在再来看cmake,就有好长的一串参数了!



cmake执行后发现还是有问题:



看信息,是缺少curses库,在centos中,名称是ncurses,查看已安装列表发现ncurses已经安装,但是ncurses-devel没有安装,使用yum进行安装。



安装完ncurses-devel后,删除CMakeCache.txt,重新cmake:



好了,到这里cmake算是完成了



cmake完成之后就可以进行make && make install了,这个耗费的时间就比较长了,主要看你机器的运行速率了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息