mysql编译安装

编译安装不同 只写步骤

# 防火墙 selinux 
systemctl stop firewalld
systemctl disable firewalld
vim /etc/selinux/config   #> SELINUX=disabled

#自己下载源或wget下载源
yum install wget -y
# 下载源,默认当前在root家目录
wget https://downloads.mariadb.org/interstitial/mariadb-10.2.29/source/mariadb-10.2.29.tar.gz/from/http%3A//mirror2.hs-esslingen.de/mariadb/ -O mariadb-10.2.29.tar.gz

#从其他机器下过来,我使用自己的另一个虚拟机web目录下载,默认下载到root家目录 
wget 192.168.47.25/mariadb-10.2.29.tar.gz

#版本自己可选

# 创建系统用户,有需求就自己指定id,不指定也无所谓,用于编译的时候指定用户
useradd -r -u 306 mysql -s /sbin/nologin 

# 下载epel源
yum install epel-release -y

# 如果后面yum出现问题 可参考下 https://blog.csdn.net/qq_25868251/article/details/89515173 或者自己配置yum源

# 下载编译需要的工具
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 -y 

# 解压下载好的包
tar xf mariadb-10.2.29.tar.gz 


# 进到解压完成的包文件夹中
cd mariadb-10.2.29

#指定各项数据存放目录和配置,自己可按照需求定义
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/mysql -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


# 完成后开始编译
make -j 4 

# 编译完成之前可以在etc/profile.d 下创建一个将安装目录添加到环境变量的脚本
vim /etc/profile.d/mariadb.sh

#!/bin/bash
export PATH=/usr/local/mysql/bin:$PATH

#完成之后
. mariadb.sh

# 修改后续的客户端和服务端配置文件 或者直接等安装完成后更具需求拷贝安装目录下的 my-huge.cnf  到etc下重命名my.cnf
vim /etc/my.cnf 
port		= 3306
socket	= /data/mysql/mysql.sock
datadir = /data/mysql
# 客户端 
vim /etc/my.cnf.d/mysql-clients.cnf

port		= 3306
socket	= /data/mysql/mysql.sock

##编译完成后安装
make install
# 安装完成后,运行初始化脚本

cd /usr/local/mysql/

./scripts/mysql_install_db --datadir=/data/mysql --user=mysql

#放置配置文件
 cp support-files/mysql.server /etc/init.d/mysqld
 chkconfig --add mysqld

#开启服务

service mysqld start 
#后续可自己选择配置安全项

原文地址:https://www.cnblogs.com/Justin0717/p/11901123.html