> CentOS > CentOS教程 >

CentOS6.7编译安装MySQL5.7

MySQL发布有一些时日了,博客迁移后将环境全部进行升级。

mysql5.5之后的版本全部使用 cmake 工具进行编译,cmake重要特性是独立于源码的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响。因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

安装依赖包

  1. yum install -y bison openssl openssl-devel ncurses ncurses-devel

下载编译最新版cmake,下载地址为:https://cmake.org/download/

  1. tar xf cmake-3.4.0-Linux-x86_64.tar.gz
  2. cd cmake-3.4.0
  3. ./configure
  4. make && make install

下载必要源码包

  1. wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
  2. wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.9.tar.gz

添加所需用户

  1. useradd mysql -s /sbin/nologin -M

预编译,实际编译时请删除注释

  1. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    #安装路径
  2. -DSYSCONFDIR=/etc \    #my.cnf存放目录
  3. -DDOWNLOAD_BOOST=1 \    #从MySQL 5.7.5开始Boost库是必需的
  4. -DWITH_BOOST=../boost_1_59_0 \    #指定Boost位置
  5. -DMYSQL_DATADIR=/www/data \    #数据库文件存放地址
  6. -DMYSQL_UNIX_ADDR=/var/run/mysql/mysqld.sock \   #连接数据库socket路径,注意此路径必须有读写权限
  7. -DMYSQL_USER=mysql \    #数据库用户
  8. -DEXTRA_CHARSETS=all \    #安装所有字符集
  9. -DWITH_READLINE=1 \
  10. -DWITH_SSL=system \    #SSL
  11. -DWITH_EMBEDDED_SERVER=1 \
  12. -DENABLED_LOCAL_INFILE=1 \
  13. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  14. -DENABLE_DOWNLOADS=1 \
  15. -DDEFAULT_CHARSET=utf8 \
  16. -DDEFAULT_COLLATION=utf8_general_ci

编译选项说明
指定安装文件的安装路径时常用的选项

  1. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql      #指定残可安装路径(默认的就是/usr/local/mysql)
  2. -DMYSQL_DATADIR=/data/mysql                  #mysql的数据文件路径
  3. -DSYSCONFDIR=/etc                            #配置文件路径

编译过程中启用其他存储引擎时指令介绍

  1. -DWITH_INNOBASE_STORAGE_ENGINE=1         #使用INNOBASE存储引擎
  2. -DWITH_ARCHIVE_STORAGE_ENGINE=1          #常应用于日志记录和聚合分析,不支持索引
  3. -DWITH_BLACKHOLE_STORAGE_ENGINE=1        #黑洞存储引擎

其他功能指令

  1. -DMYSQL_TCP_PORT=3306                   #默认端口
  2. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock       #默认套接字文件路径
  3. -DENABLED_LOCAL_INFILE=1                #是否启用LOCAL_INFILE功能
  4. -DEXTRA_CHARSETS=all			        #是否支持额外的字符集
  5. -DDEFAULT_CHARSET=utf8                  #默认编码机制
  6. -DDEFAULT_COLLATION=utf8_general_ci     #设定默认语言的排序规则
  7. -DWITH_DEBUG=0                          #DEBUG功能设置
  8. -DENABLE_PROFILING=1                    #性能分析功能是否启用

编译安装MySQL

  1. make&&make install    #注意内存,内存过小可能编译不过

添加服务和开机启动

  1. cp support-files/mysql.server /etc/init.d/mysqld     #复制脚本
  2. chmod +x /etc/init.d/mysqld    #增加可执行权限
  3. chkconfig --add mysqld         #增加至sysV服务
  4. chkconfig mysqld on            #开机自启动

初始化数据库

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

会在~/.mysql_secret生成一个随机密码

按要求修改my.cnf文件

  1. vim my.cnf
  2. [mysqld]
  3. binlog-format=ROW
  4. log-bin=master-bin.log
  5. log-slave-updates=true
  6. gtid-mode=on
  7. enforce-gtid-consistency=true
  8. master-info-repository=TABLE
  9. relay-log-info-repository=TABLE
  10. sync-master-info=1
  11. slave-parallel-workers=2
  12. binlog-checksum=CRC32
  13. master-verify-checksum=1
  14. slave-sql-verify-checksum=1
  15. binlog-rows-query-log_events=1
  16. server-id=1
  17. report-port=3306
  18. port=3306
  19. datadir=/mydata/data
  20. socket=/var/run/mysql.sock #和编译选项保持一致

添加环境变量

  1. vim /etc/profile.d/mysql.sh
  2. export PATH=$PATH:/usr/local/mysql/bin

然后执行 source /etc/profile重载变量

执行mysql -uroot -p,看,熟悉的欢迎界面是不是出来了呢

  1. Welcome to the MySQL monitor.  Commands end with ; or \g.
  2. Your MySQL connection id is 15297
  3. Server version: 5.7.10-log Source distribution



(责任编辑:IT)