环境说明 :


centos7.4 64位虚拟机 


mysql5.7.21.tar.gz 编译安装需要虚拟机2G内存


安装步骤如下:


1、安装依赖包:

cmake:由于从 MySQL5.5 版本开始弃用了常规的 configure 编译方法,所以需要 CMake 编译

器,用于设置 mysql 的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。

GCC 是 Linux 下的 C 语言编译工具,mysql 源码编译完全由 C 和 C++编写,要求必须安装

GCC

bison:Linux 下 C/C++语法分析器

ncurses:字符终端处理库


# yum -y install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl make cmake


2、建立用户,安装目录和数据目录权限


# groupadd mysql

# useradd -g mysql -s /bin/false -M mysql

# mkdir -p /data/mysql/

# mkdir /usr/local/mysql

# chown -R mysql:mysql /data/mysql/


3、下载boost

Boost #从 MySQL 5.7.5 开始 Boost 库是必需的,mysql 源码中用到了 C++的 Boost 库,要求

必须安装 boost1.59.0 或以上版本


# mkdir /usr/local/boost

# cd /usr/local/src/

# wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

# tar -xvf boost_1_59_0.tar.gz

# mv boost_1_59_0/* /usr/local/boost/


4、编译安装mysql


#  cd /usr/local/src

#  tar -xvf mysql-5.7.21.tar.gz

#  cd mysql-5.7.21

#  cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost


配置解释: -DCMAKE_INSTALL_PREFIX=/usr/local/mysql [MySQL 安装的根目 录]

 -DMYSQL_DATADIR=/usr/local/mysql /data [MySQL 数据库文件存放目录] 

-DSYSCONFDIR=/etc [MySQL 配置文件所在目录] 

-DWITH_MYISAM_STORAGE_ENGINE=1 [添加 MYISAM 引擎支持 ] 

-DWITH_INNOBASE_STORAGE_ENGINE=1 [添加 InnoDB 引擎支持 ] 

-DWITH_ARCHIVE_STORAGE_ENGINE=1 [添加 ARCHIVE 引擎支持 ]

 -DMYSQL_UNIX_ADDR=/usr/local/mysql /mysql.sock [指定 mysql.sock 位置 ] 

-DWITH_PARTITION_STORAGE_ENGINE=1 [安装支持数据库分区 ]

 -DEXTRA_CHARSETS=all [使 MySQL 支持所有的扩展字符]

 -DDEFAULT_CHARSET=utf8 [设置 MySQL 的默认字符集为 utf8] 

-DDEFAULT_COLLATION=utf8_general_ci [设置默认字符集校对规则 ] 

-DWITH-SYSTEMD=1 [可以使用 systemd 控制 mysql 服务]

 -DWITH_BOOST=/usr/local/boost [指向 boost 库所在目录]

 更多参数执行 [root@localhost mysql-5.7.13]# cmake . –LH


# make &&  make install


5、mysql执行命令加入系统环境变量

#  echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile

#  source /etc/profile


6、初始化

初始化完毕后在最后一行会显示root用户临时密码( A temporary password is generated for root@localhost:。。。。。


#  chown -R mysql:mysql /usr/local/mysql

#  cd /usr/local/mysql/bin/

 ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/


7、修改my.cnf配置文件

# cat /etc/my.cnf

[mysqld]

datadir = /data/mysql

socket = /usr/local/mysql/mysql.sock

log_error = /data/mysql/mysql-error.log


8、启动mysql

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# chmod 755 /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

# systemctl restart mysqld



9、登陆数据库(密码为第6步初始化后最后一行所显示的临时密码)


# mysql -uroot -p