centos7编译安装mysql

本文详细记录了在CentOS7系统中编译安装MySQL 5.7.12的过程,包括解决依赖问题、配置参数说明等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说一下环境,系统是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了,这个耗费的时间就比较长了,主要看你机器的运行速率了。

一、安装MySQL 1、安装cmake cd /usr/local/src tar zxvf cmake-2.8.11.2.tar.gz cd cmake-2.8.11.2 ./configure make make install 2、安装MySQL groupadd mysql #添加mysql组 useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统 mkdir -p /data/mysql #创建MySQL数据库存放目录 chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限 mkdir -p /usr/local/mysql #创建MySQL安装目录 cd /usr/local/src #进入软件包存放目录 tar zxvf mysql-5.6.19.tar.gz #解压 cd mysql-5.6.19 #进入目录 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置 make #编译 make install #安装 rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除) cd /usr/local/mysql #进入MySQL安装目录 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系统数据库 ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动 chmod 755 /etc/init.d/mysqld #增加执行权限 chkconfig mysqld on #加入开机启动 vi /etc/rc.d/init.d/mysqld #编辑 basedir=/usr/local/mysql #MySQL程序安装路径 datadir=/data/mysql #MySQl数据库存放目录 :wq! #保存退出 service mysqld start #启动 vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行 export PATH=$PATH:/usr/local/mysql/bin :wq! #保存退出 source /etc/profile #使配置立刻生效 下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。 ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/include/mysql mkdir /var/lib/mysql #创建目录 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接 mysql_secure_installation #设置Mysql密码,根据提示按Y 回车输入2次密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值