1. 进入/usr/local/src 

cd /usr/local/src


2.下载mysql 5.7.10

wget  http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz

3.安装组件 cmake必须安装

yum -y install gcc-c++ ncurses-devel cmake make perl 
yum -y gcc autoconf automake zlib libxml libgcrypt libtool bison  
yum -y install  gcc gcc-c++ gcc-g77 autoconf automake 
yum -y zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake

4.添加用户

groupadd mysql
useradd -r -g mysql mysql

mysql安装的位置:

mkdir /usr/local/mysql

mysql data安装的位置:

mkdir /data/mysql


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

chmod 777  /usr/local/mysql
chmod 777  /data/mysql


5.解压mysql安装包

cd /usr/local/src/
tar -zxvf mysql-5.7.11.tar.gz
cd mysql-5.7.11
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql  \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1  \
-DWITH_ARCHIVE_STORAGE_ENGINE=1   \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=./boost/ 
由于我们下载的是mysql带boost包的,因此解压后,boost目录就在mysql解压
包下,路径为./boost/ 注意,boost后的“/” 必须要添加。


由于我下载的是自带boost的mysql,所以只要制定路径就可以了。


参数详解:


常用参数:

CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql

DEFAULT_CHARSET:指定服务器默认字符集,默认latin1

DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci

ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF

WITH_COMMENT:指定编译备注信息

WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER

以及CSV四种引擎默认即被编译至服务器,不需要特别指定。

WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎

SYSCONFDIR:初始化参数文件目录

MYSQL_DATADIR:数据文件目录

MYSQL_TCP_PORT:服务端口号,默认3306

MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock

------------------------------------------------------------------------------------------

网友的编译参数

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \              [MySQL安装的根目录]

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

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

-DMYSQL_USER=mysql \                                    [MySQL用户名]      

-DWITH_MYISAM_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]

-DWITH_INNOBASE_STORAGE_ENGINE=1 \                      [MySQL的数据库引擎]

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                       [MySQL的数据库引擎]

-DWITH_MEMORY_STORAGE_ENGINE=1 \                        [MySQL的数据库引擎]

-DWITH_READLINE=1 \                                     [MySQL的readline library]

-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \           [MySQL的通讯目录]

-DMYSQL_TCP_PORT=3306 \                                 [MySQL的监听端口]

-DENABLED_LOCAL_INFILE=1 \                              [启用加载本地数据]

-DENABLE_DOWNLOADS=1 \                                  [编译时允许自主下载相关文件]

-DWITH_PARTITION_STORAGE_ENGINE=1  \

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

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

-DDEFAULT_COLLATION=utf8_general_ci \                   [设置默认字符校对]

-DWITH_DEBUG=0 \                                        [禁用调试模式]

-DMYSQL_MAINTAINER_MODE=0 \

-DWITH_SSL:STRING=bundled \                             [通讯时支持ssl协议]

-DWITH_ZLIB:STRING=bundled                              [允许使用zlib library]

-------------------------------------------------------------------------------------------


make && make install


-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql  \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1  \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled \
-DWITH_ZLIB:STRING=bundled \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=./boost/

3.初始化mysql


记住一定要先把权限给mysql用户,否则初始化会报错。

chown -R mysql:mysql /data
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /usr/local/mysql
cd /usr/local/mysql/bin

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

2016-03-06T05:31:01.664510Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp 
server option (see documentation for more details).
2016-03-06T05:31:05.188724Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-03-06T05:31:05.571415Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-03-06T05:31:05.689390Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has 
been started. Generating a new UUID: 9f7c61ff-e35c-11e5-9957-000c29d5b9a9.
2016-03-06T05:31:05.698274Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
此行为初始密码:
2016-03-06T05:31:05.700736Z 1 [Note] A temporary password is generated for root@localhost: Zi?gw66wnIgs


此行为初始密码:

2016-03-06T05:31:05.700736Z 1 [Note] A temporary password is generated for root@localhost: Zi?gw66wnIgs



4.拷贝标准启动脚本和配置文件

cd /usr/local/src/mysql-boost-5
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# mv /etc/my.cnf /etc/my.cnf.old
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]#chmod 755 /etc/init.d/mysqld


5.配置启动脚本和配置文件

[root@localhost mysql]# vim /etc/init.d/mysqld 
basedir=/usr/local/mysql
datadir=/data/mysql
mysqld_pid_file_path=/usr/local/mysql/mysql.pid

 
[root@localhost mysql]# vim /etc/my.cnf
basedir=/usr/local/mysql
datadir=/data/mysql



6.设置mysql服务开机启动并启动mysql

[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
Starting MySQL.. SUCCESS!



7.设置环境变量

vim /etc/profile
最后添加一行:
export PATH=$PATH:/usr/local/mysql/bin
保存退出
然后:
source /etc/profile


8.初始化mysql密码

mysql -uroot  -p
set password=password('yourpassword');
alter user 'root'@'localhost' password expire never;
flush privileges;