【MySQL】安装二:源码安装

【安装准备】

一个虚拟机(CentOS7,其他系统自行更换命令),官网下载MySQL源码包(https://dev.mysql.com/downloads/mysql/

依赖环境(cmake,gcc ,gcc-c++)

【安装过程】

安装依赖环境

# 一般情况只需要gcc-c++安装即可,centos7自带make编译,不过可以确保一下
yum install cmake gcc gcc-c++  -y 

 

# 添加mysql用户组和用户
groupadd mysql
useradd -g mysql mysql

# 解压
tar -zxvf mysql-5.7.22.tar.gz 
# 安装到/usr/local/mysql
mv mysql-5.7.22 /usr/local/mysql

# mysql目录授权
chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql


# 如果是 mysql-boost  源码包,无须下载boost,自带boost
cmake -DWITH_BOOST=boost  # 其他可见下方

# 如果是 mysql 源码包,需要安装boost
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysqld.sock \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_TCP_PORT=3306 

# 提示,mysql源码安装需要boost,如果没有安装,需要配置boost下载及安装目录,会自动下载并安装 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost


# 编译安装
make
make install
make clean

# 创建mysqld服务
# 服务必须
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
或
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# 将mysql安装目录放在/usr/bin下(可不需要,看自己安装习惯)
chmod +x /etc/init.d/mysqld
ln -s /usr/local/mysql/bin/* /usr/local/bin/

# 创建mysql的data目录
mkdir /usr/local/mysql/data 

#开机自启 以下作用等同,选其一
chkconfig --add mysqld  
chkconfig mysqld on
systemctl enable mysqld

# 初始化 数据库 # 确保data目录为空
#  --user:定义数据库的所属主,--datadir:定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。
./scripts/mysql_install_db --user=mysql --datadir=/var/mysql/data
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # 5.7 之后推荐使用此方法

Cmake参数描述

# 解释
DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径
DMYSQL_DATADIR=/usr/local/mysql/data:数据文件存放位置
DSYSCONFDIR=/etc:my.cnf路径
DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎
DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎
DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径
DMYSQL_TCP_PORT=3306:端口
DENABLED_LOCAL_INFILE=1:允许从本地导入数据
DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区
DEXTRA_CHARSETS=all:安装所有的字符集
DDEFAULT_CHARSET=utf8:默认字符
DWITH_EMBEDDED_SERVER=1:嵌入式服务器
DWITH_BOOST=/usr/local/boost :boost源码路径
DDEFAULT_COLLATION=utf8mb4_general_ci :默认排序规则、

 

posted @ 2019-07-25 09:15  CryDongle  阅读(35)  评论(0编辑  收藏  举报