CentOS7下源码安装5.6.23

清理CentOS7下的MariaDB。

[root@localhost ~]#rpm -qa | gremp mariadb

    [root@localhost ~]# rpm -e --nodeps mariadb.x86_64 1:5.5.41-2.el7_0
  1. 下载源码

[root@localhost ~]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz 

  2.解压

[root@localhost ~]# tar zxvf mysql-5.6.23.tar.gz

  3.安装必要的包

[root@localhost ~]# sudo yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper

已加载插件:fastestmirror, langpacks

base                                                     | 3.6 kB     00:00    

extras                                                   | 3.4 kB     00:00    

updates                                                  | 3.4 kB     00:00    

(1/2): extras/7/x86_64/primary_db                          | 117 kB   00:00    

(2/2): updates/7/x86_64/primary_db                         | 3.9 MB   00:01    

Determining fastest mirrors

 * base: mirrors.163.com

 * extras: mirrors.skyshe.cn

 * updates: mirrors.163.com

软件包 perl-Data-Dumper-2.145-3.el7.x86_64 已安装并且是最新版本

正在解决依赖关系

--> 正在检查事务

---> 软件包 cmake.x86_64.0.2.8.11-5.el7 将被 安装

---> 软件包 gcc-c++.x86_64.0.4.8.5-4.el7 将被 安装

--> 正在处理依赖关系 libstdc++-devel = 4.8.5-4.el7,它被软件包 gcc-c++-4.8.5-4.el7.x86_64 需要

--> 正在处理依赖关系 libstdc++ = 4.8.5-4.el7,它被软件包 gcc-c++-4.8.5-4.el7.x86_64 需要

--> 正在处理依赖关系 gcc = 4.8.5-4.el7,它被软件包 gcc-c++-4.8.5-4.el7.x86_64 需要

--> 正在处理依赖关系 libmpc.so.3()(64bit),它被软件包 gcc-c++-4.8.5-4.el7.x86_64 需要

---> 软件包 ncurses-devel.x86_64.0.5.9-13.20130511.el7 将被 安装

--> 正在检查事务

---> 软件包 gcc.x86_64.0.4.8.5-4.el7 将被 安装

--> 正在处理依赖关系 libgomp = 4.8.5-4.el7,它被软件包 gcc-4.8.5-4.el7.x86_64 需要

--> 正在处理依赖关系 cpp = 4.8.5-4.el7,它被软件包 gcc-4.8.5-4.el7.x86_64 需要

--> 正在处理依赖关系 libgcc >= 4.8.5-4.el7,它被软件包 gcc-4.8.5-4.el7.x86_64 需要

---> 软件包 libmpc.x86_64.0.1.0.1-3.el7 将被 安装

---> 软件包 libstdc++.x86_64.0.4.8.3-9.el7 将被 升级

---> 软件包 libstdc++.x86_64.0.4.8.5-4.el7 将被 更新

---> 软件包 libstdc++-devel.x86_64.0.4.8.5-4.el7 将被 安装

--> 正在检查事务

---> 软件包 cpp.x86_64.0.4.8.5-4.el7 将被 安装

---> 软件包 libgcc.x86_64.0.4.8.3-9.el7 将被 升级

---> 软件包 libgcc.x86_64.0.4.8.5-4.el7 将被 更新

---> 软件包 libgomp.x86_64.0.4.8.3-9.el7 将被 升级

---> 软件包 libgomp.x86_64.0.4.8.5-4.el7 将被 更新

--> 解决依赖关系完成

 

依赖关系解决

 

=====================================================

 Package             架构         版本                    源          大小

=====================================================

正在安装:

 cmake           x86_64       2.8.11-5.el7               base       6.7 M

 gcc-c++         x86_64       4.8.5-4.el7                base       7.2 M

 ncurses-devel    x86_64       5.9-13.20130511.el7        base       713 k

为依赖而安装:

 cpp             x86_64       4.8.5-4.el7                base       5.9 M

 gcc             x86_64       4.8.5-4.el7                base        16 M

 libmpc           x86_64       1.0.1-3.el7                base        51 k

 libstdc++-devel   x86_64       4.8.5-4.el7                base       1.5 M

为依赖而更新:

 libgcc            x86_64       4.8.5-4.el7                base        95 k

 libgomp          x86_64       4.8.5-4.el7                base       130 k

 libstdc++        x86_64       4.8.5-4.el7                base       298 k

 

事务概要

=====================================================

安装  3 软件包 (+4 依赖软件包)

升级           ( 3 依赖软件包)

 

总计:39 M

总下载量:38 M

Is this ok [y/d/N]: y

Downloading packages:

(1/7): libmpc-1.0.1-3.el7.x86_64.rpm                       |  51 kB   00:00    

(2/7): gcc-c++-4.8.5-4.el7.x86_64.rpm                      | 7.2 MB   00:03    

(3/7): libstdc++-devel-4.8.5-4.el7.x86_64.rpm              | 1.5 MB   00:03    

(4/7): ncurses-devel-5.9-13.20130511.el7.x86_64.rpm        | 713 kB   00:00    

(5/7): cpp-4.8.5-4.el7.x86_64.rpm                          | 5.9 MB   00:04    

(6/7): cmake-2.8.11-5.el7.x86_64.rpm                       | 6.7 MB   00:05    

(7/7): gcc-4.8.5-4.el7.x86_64.rpm                          |  16 MB   00:16    

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

总计                                             2.3 MB/s |  38 MB  00:16    

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  正在安装: libmpc-1.0.1-3.el7.x86_64                                  1/13

  正在更新: libgcc-4.8.5-4.el7.x86_64                                  2/13

  正在更新: libstdc++-4.8.5-4.el7.x86_64                               3/13

  正在安装: libstdc++-devel-4.8.5-4.el7.x86_64                         4/13

  正在安装: cpp-4.8.5-4.el7.x86_64                                     5/13

  正在更新: libgomp-4.8.5-4.el7.x86_64                                 6/13

  正在安装: gcc-4.8.5-4.el7.x86_64                                     7/13

  正在安装:gcc-c++-4.8.5-4.el7.x86_64                                 8/13

  正在安装:cmake-2.8.11-5.el7.x86_64                                  9/13

  正在安装: ncurses-devel-5.9-13.20130511.el7.x86_64                  10/13

  清理: libstdc++-4.8.3-9.el7.x86_64                              11/13

  清理: libgcc-4.8.3-9.el7.x86_64                                 12/13

  清理: libgomp-4.8.3-9.el7.x86_64                                13/13

  验证中: libstdc++-4.8.5-4.el7.x86_64                               1/13

  验证中: libstdc++-devel-4.8.5-4.el7.x86_64                         2/13

  验证中: gcc-4.8.5-4.el7.x86_64                                     3/13

  验证中: cpp-4.8.5-4.el7.x86_64                                     4/13

  验证中: ncurses-devel-5.9-13.20130511.el7.x86_64                   5/13

  验证中: libgcc-4.8.5-4.el7.x86_64                                  6/13

  验证中: libgomp-4.8.5-4.el7.x86_64                                 7/13

  验证中: gcc-c++-4.8.5-4.el7.x86_64                                 8/13

  验证中: libmpc-1.0.1-3.el7.x86_64                                  9/13

  验证中: cmake-2.8.11-5.el7.x86_64                                 10/13

  验证中: libgcc-4.8.3-9.el7.x86_64                                 11/13

  验证中: libstdc++-4.8.3-9.el7.x86_64                              12/13

  验证中: libgomp-4.8.3-9.el7.x86_64                                13/13

 

已安装:

  cmake.x86_64 0:2.8.11-5.el7                   gcc-c++.x86_64 0:4.8.5-4.el7  

  ncurses-devel.x86_64 0:5.9-13.20130511.el7  

 

作为依赖被安装:

  cpp.x86_64 0:4.8.5-4.el7           gcc.x86_64 0:4.8.5-4.el7                  

  libmpc.x86_64 0:1.0.1-3.el7        libstdc++-devel.x86_64 0:4.8.5-4.el7      

 

作为依赖被升级:

  libgcc.x86_64 0:4.8.5-4.el7             libgomp.x86_64 0:4.8.5-4.el7        

  libstdc++.x86_64 0:4.8.5-4.el7        

 

完毕! 

  4.进入mysql源码目录,生成makefile

[root@localhost mysql-5.6.23]# cmake . 

  5.编译

[root@localhost mysql-5.6.23]# make  

  6.安装

[root@localhost mysql-5.6.23]# make install  

mysql将会安装到/usr/local/mysql路径。

  7.添加mysql用户和组

[root@localhost mysql-5.6.23]# groupadd mysql

[root@localhost mysql-5.6.23]# useradd -r -g mysql mysql  

  8.修改目录和文件权限,安装默认数据库

[root@localhost mysql-5.6.23]# cd /usr/local/mysql  

[root@localhost mysql-5.6.23]# sudo chown -R mysql .  

[root@localhost mysql-5.6.23]# sudo chgrp -R mysql .  

[root@localhost mysql-5.6.23]# sudo scripts/mysql_install_db --user=mysql

[root@localhost mysql-5.6.23]# chown -R root .  

[root@localhost mysql-5.6.23]# chown -R mysql data  

至此,mysql就可以启动运行了。

  9.启动mysql

CentOS7自带MariaDB的支持,/etc下默认存在my.cnf文件干扰mysql运行,需要先删掉

[root@localhost mysql-5.6.23]# cd /etc  

[root@localhost etc]# rm -fr my.cnf my.cnf.d  

然后再/etc下重建my.cnf文件,内容如下

# For advice on how to change settings please see  

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html  

[mysqld]  

  

# Remove leading # and set to the amount of RAM for the most important data  

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.  

# innodb_buffer_pool_size = 128M  

  

# Remove leading # to turn on a very important data integrity option: logging  

# changes to the binary log between backups.  

# log_bin  

  

# These are commonly set, remove the # and set as required.  

# basedir = .....  

# datadir = /data/mysql/data  

# port = .....  

# server_id = .....  

# socket = .....  

  

# Remove leading # to set options mainly useful for eporting servers.  

# The server defaults are faster for transactions and fast SELECTs.  

# Adjust sizes as needed, experiment to find the optimal values.  

# join_buffer_size = 128M  

# sort_buffer_size = 2M  

# read_rnd_buffer_size = 2M   

  

max_connection = 10000  

sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES   

  

#binary log   

log-bin = mysql-bin  

binlog_format = mixed  

expire_logs_day = 30  

  

#slow query log   

slow_query_log = 1  

slow_query_log_file = /var/log/mysql/slow.log  

long_query_time = 3  

log-queries-not-using-indexes  

log-slow-admin-statements  

  10.编辑/etc/rc.d/rc.local文件,添加mysql的开机启动命令。

[root@localhost mysql-5.6.23]# vi /etc/rc.d/rc.loc

到末尾添加:

/usr/local/mysql/bin/mysqld_safe --user=mysql &  

 

然后给/etc/rc.d/rc.local添加可执行权限

[root@localhost mysql-5.6.23]# chmod a+x /etc/rc.d/rc.local 

  11.修改root密码

/usr/loca/mysql/bin/mysql -uroot  

use mysql;  

UPDATE user SET password = PASSWORD('test2015') WHERE user = 'root';  

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'passwd2015';  

FLUSH PRIVILEGES;

 

  12.缺省源码安装的文件路径

       都安装在/usr/local/mysql文件夹中

              bin (客户端程序和脚本)

              include/mysql(包含(头)文件)

              info(Info格式的文档)

              lib/mysql(库文件)

              libexec(mysqld服务器)

              share/mysql(错误消息文件)

              sql-bench(基准程序和crash-me测试)

              var(数据库和日志文件)

  13.源码安装的优缺点 

       优点:

可按需定制编译,最灵活(建立在对linux非常熟悉的基础上);

性能最好;

一台服务器可以安装多个MySQL

       缺点:

              安装过程交复杂

编译时间长

posted @ 2016-04-07 13:05  因致研发官方博客  阅读(2278)  评论(0编辑  收藏  举报

公司地址:上海市浦东新区峨山路101弄201室(陆家嘴软件园5号楼)  联系电话:021-50898286

2016 因致研发官方博客号 版权所有