源码编译mariadb-10.2.29

利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能, 即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译 编译选项

https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

1安装依赖包

yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

2.创建用户和数据目录

useradd  -r  -s /sbin/nologin  -d /data/mysql/   mysql
id  mysql

3.下载源码包并解压缩源码包

(1)tar xvf mariadb-10.2.29.tar.gz  -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# ll
total 4
drwxrwxr-x 33 1001 1001 4096 Nov  6 19:18 mariadb-10.2.29
[root@localhost src]# du -sh mariadb-10.2.29/
512M    mariadb-10.2.29/4

(2)源码编译安装
cd mariadb-10.2.29/
cmake  . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/  \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1  \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci     #粘贴有问题可能是\后面跟空格或者tab

make && make install  && date  && echo -e "\a"

3修改环境变量

ech0 'PATH=/app/mysql/bin:$PATH' >  /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

4生成数据库文件

cd  /app/mysql/
. scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql    #要在/app/mysql下运行脚本,写上相对路径,需要调用/app/mysql下的bin/

5配置文件

 cp  /app/mysql/support-files/my-huge.cnf   /etc/my.cnf

6启动脚本

cp /app/mysql/support-files/mysql.server  /etc/init.d/mysqld 
chkconfig --add mysqld 
chkconfig --list
service mysqld start

7安全初始化

 mysql_secure_installation

8测试登录

 mysql   #如果有问题,可能是path变量没有添加,或者没有执行立即生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值