CentOS7编译安装MySQL5.7

源码安装mysql5.7.27

MySQL从5.7版本之后,boost是必须的,建议把系统自带的boost库卸载,源码编译安装高版本
[root@server ~]# rpm -qa |grep boost
boost-system-1.53.0-28.el7.x86_64
boost-iostreams-1.53.0-28.el7.x86_64
boost-random-1.53.0-28.el7.x86_64
boost-date-time-1.53.0-28.el7.x86_64
boost-thread-1.53.0-28.el7.x86_64
[root@server ~]#

[root@server ~]# yum -y remove boost-*
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 boost-date-time.x86_64.0.1.53.0-28.el7 将被 删除
--> 正在处理依赖关系 libboost_date_time-mt.so.1.53.0()(64bit),它被软件包 dyninst-9.3.1-3.el7.x86_64 需要
---> 软件包 boost-iostreams.x86_64.0.1.53.0-28.el7 将被 删除
--> 正在处理依赖关系 libboost_iostreams-mt.so.1.53.0()(64bit),它被软件包 1:librados2-10.2.5-4.el7.x86_64 需要
--> 正在处理依赖关系 libboost_iostreams-mt.so.1.53.0()(64bit),它被软件包 1:librbd1-10.2.5-4.el7.x86_64 需要
---> 软件包 boost-random.x86_64.0.1.53.0-28.el7 将被 删除
---> 软件包 boost-system.x86_64.0.1.53.0-28.el7 将被 删除
---> 软件包 boost-thread.x86_64.0.1.53.0-28.el7 将被 删除
--> 正在检查事务
---> 软件包 dyninst.x86_64.0.9.3.1-3.el7 将被 删除
--> 正在处理依赖关系 libdyninstAPI.so.9.3()(64bit),它被软件包 systemtap-runtime-4.0-13.el7.x86_64 需要
--> 正在处理依赖关系 libsymtabAPI.so.9.3()(64bit),它被软件包 systemtap-runtime-4.0-13.el7.x86_64 需要
---> 软件包 librados2.x86_64.1.10.2.5-4.el7 将被 删除
--> 正在处理依赖关系 librados.so.2()(64bit),它被软件包 10:qemu-img-1.5.3-175.el7.x86_64 需要
--> 正在处理依赖关系 librados.so.2()(64bit),它被软件包 libvirt-daemon-driver-storage-rbd-4.5.0-36.el7.x86_64 需要
--> 正在处理依赖关系 librados.so.2()(64bit),它被软件包 10:qemu-kvm-common-1.5.3-175.el7.x86_64 需要
--> 正在处理依赖关系 librados.so.2()(64bit),它被软件包 10:qemu-kvm-1.5.3-175.el7.x86_64 需要
---> 软件包 librbd1.x86_64.1.10.2.5-4.el7 将被 删除
--> 正在检查事务
---> 软件包 libvirt-daemon-driver-storage-rbd.x86_64.0.4.5.0-36.el7 将被 删除
--> 正在处理依赖关系 libvirt-daemon-driver-storage-rbd = 4.5.0-36.el7,它被软件包 libvirt-daemon-driver-storage-4.5.0-36.el7.x86_64 需要
---> 软件包 qemu-img.x86_64.10.1.5.3-175.el7 将被 删除
---> 软件包 qemu-kvm.x86_64.10.1.5.3-175.el7 将被 删除
--> 正在处理依赖关系 qemu-kvm,它被软件包 libvirt-daemon-kvm-4.5.0-36.el7.x86_64 需要
---> 软件包 qemu-kvm-common.x86_64.10.1.5.3-175.el7 将被 删除
---> 软件包 systemtap-runtime.x86_64.0.4.0-13.el7 将被 删除
--> 正在处理依赖关系 systemtap-runtime = 4.0-13.el7,它被软件包 systemtap-client-4.0-13.el7.x86_64 需要
--> 正在检查事务
---> 软件包 libvirt-daemon-driver-storage.x86_64.0.4.5.0-36.el7 将被 删除
---> 软件包 libvirt-daemon-kvm.x86_64.0.4.5.0-36.el7 将被 删除
--> 正在处理依赖关系 libvirt-daemon-kvm,它被软件包 gnome-boxes-3.28.5-4.el7.x86_64 需要
---> 软件包 systemtap-client.x86_64.0.4.0-13.el7 将被 删除
--> 正在处理依赖关系 systemtap-client = 4.0-13.el7,它被软件包 systemtap-4.0-13.el7.x86_64 需要
--> 正在检查事务
---> 软件包 gnome-boxes.x86_64.0.3.28.5-4.el7 将被 删除
---> 软件包 systemtap.x86_64.0.4.0-13.el7 将被 删除
--> 正在处理依赖关系 /usr/bin/qemu-img,它被软件包 libvirt-daemon-driver-storage-core-4.5.0-36.el7.x86_64 需要
--> 正在处理依赖关系 /usr/bin/qemu-img,它被软件包 libvirt-daemon-driver-qemu-4.5.0-36.el7.x86_64 需要
--> 正在使用新的信息重新解决依赖关系
--> 正在检查事务
---> 软件包 libvirt-daemon-driver-qemu.x86_64.0.4.5.0-36.el7 将被 删除
---> 软件包 libvirt-daemon-driver-storage-core.x86_64.0.4.5.0-36.el7 将被 删除
--> 正在处理依赖关系 libvirt-daemon-driver-storage-core = 4.5.0-36.el7,它被软件包 libvirt-daemon-driver-storage-mpath-4.5.0-36.el7.x86_64 需要
--> 正在处理依赖关系 libvirt-daemon-driver-storage-core = 4.5.0-36.el7,它被软件包 libvirt-daemon-driver-storage-iscsi-4.5.0-36.el7.x86_64 需要
--> 正在处理依赖关系 libvirt-daemon-driver-storage-core = 4.5.0-36.el7,它被软件包 libvirt-daemon-driver-storage-gluster-4.5.0-36.el7.x86_64 需要
--> 正在处理依赖关系 libvirt-daemon-driver-storage-core = 4.5.0-36.el7,它被软件包 libvirt-daemon-driver-storage-scsi-4.5.0-36.el7.x86_64 需要
--> 正在处理依赖关系 libvirt-daemon-driver-storage-core = 4.5.0-36.el7,它被软件包 libvirt-daemon-driver-storage-disk-4.5.0-36.el7.x86_64 需要
--> 正在处理依赖关系 libvirt-daemon-driver-storage-core = 4.5.0-36.el7,它被软件包 libvirt-daemon-driver-storage-logical-4.5.0-36.el7.x86_64 需要
--> 正在检查事务
---> 软件包 libvirt-daemon-driver-storage-disk.x86_64.0.4.5.0-36.el7 将被 删除
---> 软件包 libvirt-daemon-driver-storage-gluster.x86_64.0.4.5.0-36.el7 将被 删除
---> 软件包 libvirt-daemon-driver-storage-iscsi.x86_64.0.4.5.0-36.el7 将被 删除
---> 软件包 libvirt-daemon-driver-storage-logical.x86_64.0.4.5.0-36.el7 将被 删除
---> 软件包 libvirt-daemon-driver-storage-mpath.x86_64.0.4.5.0-36.el7 将被 删除
---> 软件包 libvirt-daemon-driver-storage-scsi.x86_64.0.4.5.0-36.el7 将被 删除
--> 解决依赖关系完成
base/7/x86_64                                                                            | 3.6 kB  00:00:00
extras/7/x86_64                                                                          | 2.9 kB  00:00:00
extras/7/x86_64/primary_db                                                               | 250 kB  00:00:00
updates/7/x86_64                                                                         | 2.9 kB  00:00:00
updates/7/x86_64/primary_db                                                              |  25 MB  00:00:04

依赖关系解决

================================================================================================================
 Package                                       架构           版本                      源                 大小
================================================================================================================
正在删除:
 boost-date-time                               x86_64         1.53.0-28.el7             @anaconda         136 k
 boost-iostreams                               x86_64         1.53.0-28.el7             @anaconda         209 k
 boost-random                                  x86_64         1.53.0-28.el7             @anaconda          24 k
 boost-system                                  x86_64         1.53.0-28.el7             @anaconda          32 k
 boost-thread                                  x86_64         1.53.0-28.el7             @anaconda          93 k
为依赖而移除:
 dyninst                                       x86_64         9.3.1-3.el7               @anaconda          12 M
 gnome-boxes                                   x86_64         3.28.5-4.el7              @anaconda         5.5 M
 librados2                                     x86_64         1:10.2.5-4.el7            @anaconda         5.5 M
 librbd1                                       x86_64         1:10.2.5-4.el7            @anaconda         7.4 M
 libvirt-daemon-driver-qemu                    x86_64         4.5.0-36.el7              @anaconda         1.5 M
 libvirt-daemon-driver-storage                 x86_64         4.5.0-36.el7              @anaconda         0.0
 libvirt-daemon-driver-storage-core            x86_64         4.5.0-36.el7              @anaconda         707 k
 libvirt-daemon-driver-storage-disk            x86_64         4.5.0-36.el7              @anaconda          68 k
 libvirt-daemon-driver-storage-gluster         x86_64         4.5.0-36.el7              @anaconda         132 k
 libvirt-daemon-driver-storage-iscsi           x86_64         4.5.0-36.el7              @anaconda          64 k
 libvirt-daemon-driver-storage-logical         x86_64         4.5.0-36.el7              @anaconda          72 k
 libvirt-daemon-driver-storage-mpath           x86_64         4.5.0-36.el7              @anaconda          60 k
 libvirt-daemon-driver-storage-rbd             x86_64         4.5.0-36.el7              @anaconda          80 k
 libvirt-daemon-driver-storage-scsi            x86_64         4.5.0-36.el7              @anaconda          64 k
 libvirt-daemon-kvm                            x86_64         4.5.0-36.el7              @anaconda         0.0
 qemu-img                                      x86_64         10:1.5.3-175.el7          @anaconda         2.3 M
 qemu-kvm                                      x86_64         10:1.5.3-175.el7          @anaconda         5.7 M
 qemu-kvm-common                               x86_64         10:1.5.3-175.el7          @anaconda         755 k
 systemtap                                     x86_64         4.0-13.el7                @anaconda         0.0
 systemtap-client                              x86_64         4.0-13.el7                @anaconda          10 M
 systemtap-runtime                             x86_64         4.0-13.el7                @anaconda         1.1 M

事务概要
================================================================================================================
移除  5 软件包 (+21 依赖软件包)

安装大小:54 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : systemtap-4.0-13.el7.x86_64                                                                1/26
  正在删除    : systemtap-client-4.0-13.el7.x86_64                                                         2/26
  正在删除    : systemtap-runtime-4.0-13.el7.x86_64                                                        3/26
  正在删除    : dyninst-9.3.1-3.el7.x86_64                                                                 4/26
  正在删除    : gnome-boxes-3.28.5-4.el7.x86_64                                                            5/26
  正在删除    : libvirt-daemon-kvm-4.5.0-36.el7.x86_64                                                     6/26
  正在删除    : libvirt-daemon-driver-storage-4.5.0-36.el7.x86_64                                          7/26
  正在删除    : 10:qemu-kvm-1.5.3-175.el7.x86_64                                                           8/26
  正在删除    : libvirt-daemon-driver-storage-rbd-4.5.0-36.el7.x86_64                                      9/26
  正在删除    : 10:qemu-kvm-common-1.5.3-175.el7.x86_64                                                   10/26
  正在删除    : libvirt-daemon-driver-qemu-4.5.0-36.el7.x86_64                                            11/26
  正在删除    : libvirt-daemon-driver-storage-disk-4.5.0-36.el7.x86_64                                    12/26
  正在删除    : libvirt-daemon-driver-storage-logical-4.5.0-36.el7.x86_64                                 13/26
  正在删除    : libvirt-daemon-driver-storage-scsi-4.5.0-36.el7.x86_64                                    14/26
  正在删除    : libvirt-daemon-driver-storage-iscsi-4.5.0-36.el7.x86_64                                   15/26
  正在删除    : libvirt-daemon-driver-storage-mpath-4.5.0-36.el7.x86_64                                   16/26
  正在删除    : libvirt-daemon-driver-storage-gluster-4.5.0-36.el7.x86_64                                 17/26
  正在删除    : libvirt-daemon-driver-storage-core-4.5.0-36.el7.x86_64                                    18/26
  正在删除    : 10:qemu-img-1.5.3-175.el7.x86_64                                                          19/26
  正在删除    : 1:librbd1-10.2.5-4.el7.x86_64                                                             20/26
  正在删除    : 1:librados2-10.2.5-4.el7.x86_64                                                           21/26
  正在删除    : boost-thread-1.53.0-28.el7.x86_64                                                         22/26
  正在删除    : boost-system-1.53.0-28.el7.x86_64                                                         23/26
  正在删除    : boost-iostreams-1.53.0-28.el7.x86_64                                                      24/26
  正在删除    : boost-random-1.53.0-28.el7.x86_64                                                         25/26
  正在删除    : boost-date-time-1.53.0-28.el7.x86_64                                                      26/26
  验证中      : 1:librbd1-10.2.5-4.el7.x86_64                                                              1/26
  验证中      : libvirt-daemon-driver-storage-4.5.0-36.el7.x86_64                                          2/26
  验证中      : libvirt-daemon-driver-storage-rbd-4.5.0-36.el7.x86_64                                      3/26
  验证中      : boost-thread-1.53.0-28.el7.x86_64                                                          4/26
  验证中      : boost-random-1.53.0-28.el7.x86_64                                                          5/26
  验证中      : 10:qemu-kvm-1.5.3-175.el7.x86_64                                                           6/26
  验证中      : systemtap-runtime-4.0-13.el7.x86_64                                                        7/26
  验证中      : libvirt-daemon-driver-storage-iscsi-4.5.0-36.el7.x86_64                                    8/26
  验证中      : systemtap-client-4.0-13.el7.x86_64                                                         9/26
  验证中      : boost-iostreams-1.53.0-28.el7.x86_64                                                      10/26
  验证中      : libvirt-daemon-driver-storage-logical-4.5.0-36.el7.x86_64                                 11/26
  验证中      : boost-date-time-1.53.0-28.el7.x86_64                                                      12/26
  验证中      : dyninst-9.3.1-3.el7.x86_64                                                                13/26
  验证中      : boost-system-1.53.0-28.el7.x86_64                                                         14/26
  验证中      : systemtap-4.0-13.el7.x86_64                                                               15/26
  验证中      : libvirt-daemon-driver-storage-gluster-4.5.0-36.el7.x86_64                                 16/26
  验证中      : 10:qemu-kvm-common-1.5.3-175.el7.x86_64                                                   17/26
  验证中      : 10:qemu-img-1.5.3-175.el7.x86_64                                                          18/26
  验证中      : 1:librados2-10.2.5-4.el7.x86_64                                                           19/26
  验证中      : libvirt-daemon-driver-storage-core-4.5.0-36.el7.x86_64                                    20/26
  验证中      : libvirt-daemon-driver-storage-disk-4.5.0-36.el7.x86_64                                    21/26
  验证中      : gnome-boxes-3.28.5-4.el7.x86_64                                                           22/26
  验证中      : libvirt-daemon-driver-storage-mpath-4.5.0-36.el7.x86_64                                   23/26
  验证中      : libvirt-daemon-driver-storage-scsi-4.5.0-36.el7.x86_64                                    24/26
  验证中      : libvirt-daemon-driver-qemu-4.5.0-36.el7.x86_64                                            25/26
  验证中      : libvirt-daemon-kvm-4.5.0-36.el7.x86_64                                                    26/26

删除:
  boost-date-time.x86_64 0:1.53.0-28.el7  boost-iostreams.x86_64 0:1.53.0-28.el7  boost-random.x86_64 0:1.53.0-28.el7  boost-system.x86_64 0:1.53.0-28.el7
  boost-thread.x86_64 0:1.53.0-28.el7

作为依赖被删除:
  dyninst.x86_64 0:9.3.1-3.el7                                                  gnome-boxes.x86_64 0:3.28.5-4.el7
  librados2.x86_64 1:10.2.5-4.el7                                               librbd1.x86_64 1:10.2.5-4.el7
  libvirt-daemon-driver-qemu.x86_64 0:4.5.0-36.el7                              libvirt-daemon-driver-storage.x86_64 0:4.5.0-36.el7
  libvirt-daemon-driver-storage-core.x86_64 0:4.5.0-36.el7                      libvirt-daemon-driver-storage-disk.x86_64 0:4.5.0-36.el7
  libvirt-daemon-driver-storage-gluster.x86_64 0:4.5.0-36.el7                   libvirt-daemon-driver-storage-iscsi.x86_64 0:4.5.0-36.el7
  libvirt-daemon-driver-storage-logical.x86_64 0:4.5.0-36.el7                   libvirt-daemon-driver-storage-mpath.x86_64 0:4.5.0-36.el7
  libvirt-daemon-driver-storage-rbd.x86_64 0:4.5.0-36.el7                       libvirt-daemon-driver-storage-scsi.x86_64 0:4.5.0-36.el7
  libvirt-daemon-kvm.x86_64 0:4.5.0-36.el7                                      qemu-img.x86_64 10:1.5.3-175.el7
  qemu-kvm.x86_64 10:1.5.3-175.el7                                              qemu-kvm-common.x86_64 10:1.5.3-175.el7
  systemtap.x86_64 0:4.0-13.el7                                                 systemtap-client.x86_64 0:4.0-13.el7
  systemtap-runtime.x86_64 0:4.0-13.el7

完毕!
[root@server ~]#


卸载系统自带的mysql
[root@server ~]#
[root@server ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@server ~]#
[root@server ~]# rpm -qa |grep mysql
[root@server ~]#

[root@server ~]# yum -y remove mysql mariadb-*
已加载插件:fastestmirror, langpacks
参数 mysql 没有匹配
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb-libs.x86_64.1.5.5.68-1.el7 将被 删除
--> 正在处理依赖关系 libmysqlclient.so.18()(64bit),它被软件包 2:postfix-2.10.1-9.el7.x86_64 需要
--> 正在处理依赖关系 libmysqlclient.so.18(libmysqlclient_18)(64bit),它被软件包 2:postfix-2.10.1-9.el7.x86_64 需要
--> 正在检查事务
---> 软件包 postfix.x86_64.2.2.10.1-9.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

================================================================================================================
 Package                     架构                  版本                          源                        大小
================================================================================================================
正在删除:
 mariadb-libs                x86_64                1:5.5.68-1.el7                @anaconda                4.4 M
为依赖而移除:
 postfix                     x86_64                2:2.10.1-9.el7                @anaconda                 12 M

事务概要
================================================================================================================
移除  1 软件包 (+1 依赖软件包)

安装大小:17 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : 2:postfix-2.10.1-9.el7.x86_64                                                               1/2
  正在删除    : 1:mariadb-libs-5.5.68-1.el7.x86_64                                                          2/2
  验证中      : 1:mariadb-libs-5.5.68-1.el7.x86_64                                                          1/2
  验证中      : 2:postfix-2.10.1-9.el7.x86_64                                                               2/2

删除:
  mariadb-libs.x86_64 1:5.5.68-1.el7

作为依赖被删除:
  postfix.x86_64 2:2.10.1-9.el7

完毕!
[root@server ~]#

第一步:下载源码包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

第二步:解决安装依赖包
[root@server ~]# yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本
软件包 gcc-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 gcc-c++-4.8.5-44.el7.x86_64 已安装并且是最新版本
软件包 bison-3.0.4-2.el7.x86_64 已安装并且是最新版本
软件包 ncurses-5.9-14.20130511.el7_4.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 cmake.x86_64.0.2.8.12.2-2.el7 将被 安装
---> 软件包 ncurses-devel.x86_64.0.5.9-14.20130511.el7_4 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================================================
 Package                     架构                 版本                                 源                  大小
================================================================================================================
正在安装:
 cmake                       x86_64               2.8.12.2-2.el7                       base               7.1 M
 ncurses-devel               x86_64               5.9-14.20130511.el7_4                base               712 k

事务概要
================================================================================================================
安装  2 软件包

总下载量:7.7 M
安装大小:29 M
Downloading packages:
(1/2): ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm                                    | 712 kB  00:00:00
(2/2): cmake-2.8.12.2-2.el7.x86_64.rpm                                                   | 7.1 MB  00:00:03
----------------------------------------------------------------------------------------------------------------
总计                                                                            2.3 MB/s | 7.7 MB  00:00:03
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : ncurses-devel-5.9-14.20130511.el7_4.x86_64                                                  1/2
  正在安装    : cmake-2.8.12.2-2.el7.x86_64                                                                 2/2
  验证中      : cmake-2.8.12.2-2.el7.x86_64                                                                 1/2
  验证中      : ncurses-devel-5.9-14.20130511.el7_4.x86_64                                                  2/2

已安装:
  cmake.x86_64 0:2.8.12.2-2.el7                   ncurses-devel.x86_64 0:5.9-14.20130511.el7_4

完毕!
[root@server ~]#

第三步:添加用户和组
groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql

  -M, --no-create-home        不创建用户的主目录
  -s, --shell SHELL        新账户的登录 shell
  -r, --system                  创建一个系统账户
  -g, --gid GROUP        新账户主组的名称或 ID

[root@server ~]# useradd --help
用法:useradd [选项] 登录
      useradd -D
      useradd -D [选项]

选项:
  -b, --base-dir BASE_DIR    新账户的主目录的基目录
  -c, --comment COMMENT         新账户的 GECOS 字段
  -d, --home-dir HOME_DIR       新账户的主目录
  -D, --defaults        显示或更改默认的 useradd 配置
 -e, --expiredate EXPIRE_DATE   新账户的过期日期
  -f, --inactive INACTIVE       新账户的密码不活动期
  -g, --gid GROUP        新账户主组的名称或 ID
  -G, --groups GROUPS            新账户的附加组列表
  -h, --help                    显示此帮助信息并推出
  -k, --skel SKEL_DIR            使用此目录作为骨架目录
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -l, --no-log-init            不要将此用户添加到最近登录和登录失败数据库
  -m, --create-home            创建用户的主目录
  -M, --no-create-home        不创建用户的主目录
  -N, --no-user-group            不创建同名的组
  -o, --non-unique        允许使用重复的 UID 创建用户
  -p, --password PASSWORD    加密后的新账户密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL        新账户的登录 shell
  -u, --uid UID            新账户的用户 ID
  -U, --user-group        创建与用户同名的组
  -Z, --selinux-user SEUSER    为SELinux用户映射使用指定SEUSER

[root@server ~]#

第四步:解压源码包
tar zxvf mysql-boost-5.7.27.tar.gz -C /usr/local/src/
cd /usr/local/src/mysql-5.7.27

第五步:规划安装目录:
mkdir -pv /usr/local/mysql/data        
chown -R mysql:mysql /usr/local/mysql
#安装目录: /usr/local/mysql
#数据目录: /usr/local/mysql/data

第六步:编译
[root@server mysql-5.7.27]# cd /usr/local/src/mysql-5.7.27
[root@server mysql-5.7.27]#

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/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/mysql-5.7.27/boost/boost_1_59_0

参数注释:
DCMAKE_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

[root@server mysql-5.7.27]# 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/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql-5.7.27/boost/boost_1_59_0
-- Running cmake version 2.8.12.2
-- Found Git: /usr/bin/git (found version "1.8.3.1")
-- Configuring with MAX_INDEXES = 64U
-- CMAKE_GENERATOR: Unix Makefiles
-- SIZEOF_VOIDP 8
-- MySQL 5.7.27
-- Packaging as: mysql-5.7.27-Linux-x86_64
-- Local boost dir /usr/local/src/mysql-5.7.27/boost/boost_1_59_0
-- Found /usr/local/src/mysql-5.7.27/boost/boost_1_59_0/boost/version.hpp
-- BOOST_VERSION_NUMBER is #define BOOST_VERSION 105900
-- BOOST_INCLUDE_DIR /usr/local/src/mysql-5.7.27/boost/boost_1_59_0
-- NUMA library missing or required version not available
-- Found Git: /usr/bin/git
-- LIBEVENT_INCLUDE_DIRS /usr/local/src/mysql-5.7.27/extra/libevent/include;/usr/local/src/mysql-5.7.27/extra/libevent/include
-- LIBEVENT_LIBRARIES event
-- Cannot find system sasl libraries.
-- WITH_PROTOBUF=bundled
-- protobuf version is 2.6
-- You need to set WITH_CURL. This variable needs to point to curl library.
-- Creating LDAP authentication SASL client library.
-- Currently LDAP SASL client authentication plug-in is build with only system installed cyrus SASL library.
-- Required SASL library is missing. Skipping the LDAP SASL client authentication plugin.
-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl
-- MERGE_CONVENIENCE_LIBRARIES TARGET mysqlclient
-- MERGE_CONVENIENCE_LIBRARIES LIBS clientlib;dbug;strings;vio;mysys;mysys_ssl;zlib;yassl;taocrypt;dl
-- MERGE_CONVENIENCE_LIBRARIES MYLIBS clientlib;dbug;strings;vio;mysys;mysys_ssl;zlib;yassl;taocrypt
-- checking for module 'libtirpc'
--   package 'libtirpc' not found
-- checking for module 'libtirpc'
--   package 'libtirpc' not found
-- RPC_INCLUDE_DIRS /usr/include
-- Using Boost headers from /usr/local/src/mysql-5.7.27/boost/boost_1_59_0
-- MYSQLX - Text log of protobuf messages enabled
-- Googletest was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build requiredcomponents from source.
-- If you are inside a firewall, you may need to use an https proxy: export https_proxy=http://example.com:80
-- executable target mysqld debug_target /usr/local/src/debug/sql/mysqld
-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl
-- MERGE_CONVENIENCE_LIBRARIES TARGET mysqlserver
-- MERGE_CONVENIENCE_LIBRARIES LIBS dbug;strings;regex;mysys;mysys_ssl;vio;zlib;yassl;taocrypt;crypt;dl;archive_embedded;blackhole_embedded;csv_embedded;federated_embedded;heap_embedded;innobase_embedded;lz4_lib;myisam_embedded;myisammrg_embedded;partition_embedded;ngram_parser_embedded;sql_embedded
-- MERGE_CONVENIENCE_LIBRARIES MYLIBS dbug;strings;regex;mysys;mysys_ssl;vio;zlib;yassl;taocrypt;archive_embedded;blackhole_embedded;csv_embedded;federated_embedded;heap_embedded;innobase_embedded;lz4_lib;myisam_embedded;myisammrg_embedded;partition_embedded;ngram_parser_embedded;sql_embedded
-- library target mysqlserver debug_target /usr/local/src/debug/archive_output_directory/libmysqld.a
-- INSTALL mysqlclient.pc lib/pkgconfig
-- Skipping deb packaging on unsupported platform .
-- CMAKE_BUILD_TYPE: RelWithDebInfo
-- COMPILE_DEFINITIONS: _GNU_SOURCE;_FILE_OFFSET_BITS=64;HAVE_CONFIG_H;HAVE_LIBEVENT2
-- CMAKE_C_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement
-- CMAKE_CXX_FLAGS:  -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter
-- CMAKE_C_LINK_FLAGS:
-- CMAKE_CXX_LINK_FLAGS:
-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/mysql-5.7.27
[root@server mysql-5.7.27]#


第七步:编译安装
make -j 2 && make install
注:查看服务器CPU核心数
[root@server mysql-5.7.27]# grep processor /proc/cpuinfo | wc -l
2
[root@server mysql-5.7.27]#


第八步:编辑配置文件
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /usr/local/mysql/mysql.sock
character-set-server = utf8
log-error = /usr/local/mysql/mysql.log
pid-file = /usr/local/mysql/mysql.pid

第九步:编辑配置环境变量,让系统读到mysql路径
#vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
#source /etc/profile


第十步:添加mysql服务启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql


第十一步:修改权限:
chown -R mysql:mysql /usr/local/mysql


第十二步:初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

[root@server data]# pwd
/usr/local/mysql/data
[root@server data]# ll
总用量 110628
-rw-r----- 1 mysql mysql       56 3月  13 14:59 auto.cnf
-rw-r----- 1 mysql mysql      424 3月  13 14:59 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 3月  13 14:59 ibdata1
-rw-r----- 1 mysql mysql 50331648 3月  13 14:59 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 3月  13 14:59 ib_logfile1
drwxr-x--- 2 mysql mysql     4096 3月  13 14:59 mysql
drwxr-x--- 2 mysql mysql     8192 3月  13 14:59 performance_schema
drwxr-x--- 2 mysql mysql     8192 3月  13 14:59 sys
[root@server data]#

第十三步:启动服务
[root@server data]# /etc/init.d/mysql start
Starting MySQL. SUCCESS!
[root@server data]#

注:如果启动失败,报错:
/etc/init.d/mysqld start
Starting MySQL... ERROR! The server quit without updating PID file (/tmp/mysqld.pid)
解决方法:
把数据目录删除,重新初始化:
cd /var/lib/mysql/data/
rm -rf ./*
/var/lib/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql/data
/etc/init.d/mysqld start
Starting MySQL...SUCCESS!


第十四步:添加开机自启mysql服务
chkconfig --add mysql && chkconfig mysql on


第十五步:初始化后的临时密码在/usr/local/mysql/mysql.log文件中
[root@server mysql]# more /usr/local/mysql/mysql.log  |grep password

mysql> status;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> SET PASSWORD = PASSWORD('mysql123');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using  EditLine wrapper

Connection id:        2
Current database:
Current user:        root@localhost
SSL:            Not in use
Current pager:        stdout
Using outfile:        ''
Using delimiter:    ;
Server version:        5.7.27
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:        /usr/local/mysql/mysql.sock
Uptime:            4 min 50 sec

Threads: 1  Questions: 8  Slow queries: 0  Opens: 106  Flush tables: 1  Open tables: 99  Queries per second avg: 0.027
--------------

mysql>

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值