CentOS7编译安装MySQL 5.6.28和编译参数

MySQL 5.5之后的源码包版本,安装方式采用CMake工具编译进行安装,因此在安装最新版MySQL之前,需要提前安装它。CMake是一个跨平台、开源软件构建系统,用于控制软件编译过程及生成独立的配置文件(makefile或者project),可以在编译时选择CMake编译器进行安装需要的软件。CMake官网https://cmake.org/,目前最新版本是3.4.3。

CMake安装方法

# wget https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz
# yum install gcc gcc-c++ make automake

# ./bootstrap && make && make install

MySQL 5.6新特性
MySQL官网对MySQL 5.6的介绍:
    MySQL5.6是有史以来最好的版本,是世界上最广为使用的开源数据库,它提供了一套新的、先进的功能,使我们能建设的新一代基于网络和嵌入式应用和服务。
MySQL5.6的功能和特性
1、更好的性能和可扩展性
改进InnoDB存储引擎所带来更好的交易吞吐量

改良的优化所带来更好的查询执行时间和诊断能力

2、在线DDL /架构操作所带来更好的应用程序可用性
3、通过Memcached的API以NoSQL访问InnoDB所带来的更好的开发速度
4、改进复制技术所带来的高性能和能自行修复的集群部署
5、改进的Performance Schema所带来的更好的侦测和监测能力
6、改进的安全控制,使您部署应用程序时不需担心
7、其他重要的增强功能

MySQL5.6编译参数
官方文档:

编译安装mysql-5.6.28
step1:创建mysql用户、组
[root@www ~]# groupadd mysql
[root@www ~]# useradd -r -g mysql mysql
[root@www ~]# id mysql
uid=996(mysql) gid=1000(mysql) groups=1000(mysql)

[root@www ~]# mkdir /usr/local/mysql
[root@www ~]# mkdir /data/mysqldb

step2:安装必须的软件包
[root@www src]#  yum install gcc gcc-c++ ncurses-devel bison bison-devel

step3:编译安装MySQL
1、将下载的mysql源码包解压,并进入其解压目录下
[root@www mysql-5.6.28]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysqldb \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0

重新cmake需要删除CMakeCache.txt文件
[root@www mysql-5.6.28]# gmake
[root@www mysql-5.6.28]# gmake install
[root@www mysql-5.6.28]# ls /usr/local/mysql/
COPYING        README  data  include  man        scripts  sql-bench
INSTALL-BINARY  bin    docs  lib      mysql-test  share    support-files

2、设置MySQL目录权限

[root@www mysql-5.6.28]# chown -R root:mysql /usr/local/mysql/
[root@www mysql-5.6.28]# chown -R mysql:mysql /data/mysqldb/

3、安装系统数据库

[root@www scripts]# chmod +x mysql_install_db
[root@www scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysqldb --no-defaults --user=mysql
[root@www scripts]# ls /data/mysqldb/
ib_logfile0  ib_logfile1  ibdata1  mysql  performance_schema  test

4、拷贝配置文件my.cnf
[root@www mysql-5.6.28]# cd support-files/
[root@www support-files]# cp my-default.cnf /etc/my.cnf

[root@www support-files]# vim /etc/my.cnf 
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysqldb
port = 3306
# server_id = .....
socket = /var/lib/mysql/mysql.sock

5、拷贝启动脚本

[root@www support-files]# cp mysql.server /etc/init.d/mysqld
[root@www support-files]# chmod 755 /etc/init.d/mysqld 
[root@www support-files]# chkconfig mysqld on
 
[root@www ~]# service mysqld restart
Shutting down MySQL. SUCCESS! 
Starting MySQL. SUCCESS! 
 
[root@www ~]# netstat -ntlp |grep mysqld
tcp6      0      0 :::3306                :::*                    LISTEN      20708/mysqld

6、设置mysql环境变量
[root@www ~]# vim /etc/profile.d/path.sh
#!/bin/bash
export PATH=$PATH:/usr/local/mysql/bin
[root@www ~]# source /etc/profile
 
[root@www ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.28 Source distribution
 
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/266f89d7db92587922a42b860734874a.html