zoukankan      html  css  js  c++  java
  • mysql5.7编译安装

    MySQL5.7.17 编译安装及二进制安装详解

    发表于2017/3/5 23:25:35  1539人阅读

    分类: MySQL Linux

    MySQL 的安装方式有很多,最常见的就是编译安装和二进制安装;

    在这里我将两种安装方式都介绍一下,自由选择;

    首先我们来看一下编译安装的步骤:

    首先,到官方网站中下载源码包;

    https://dev.mysql.com/downloads/mysql

    选择下载源码包:



    有很多针对不同系统的源码包,我们选择通用版:



    下载完成后,放到我们服务器上;

    接下来按照步骤进行解压编译安装即可;

    MySQL从5.5开始,使用cmake 进行编译设置;因此,我们还要安装cmake编译工具:


    shell > yum -y install cmake


    根据官方文档提示,此过程比较消耗内存,同时也一定注意,从MySQL5.7版本开始,安装MySQL需要依赖 Boost  的C++扩展,而且只能是 1.59.0 版本;

    Boost 下载地址: http://www.boost.org/users/history  ;选择1.59.0版本下载,在编译是填写相应参数,指定Boost源码位置即可;


    shell > tar zxf boost_1_59_0.tar.gz  #解压扩展

    shell > mv boost_1_59_0  /usr/local/boost  # 将扩展源码剪切到/usr/local下

    shell > groupadd  mysql

    shell > useradd -r -g mysql -s /bin/false mysql  # 创建不可登录用户


    创建安装目录和数据存放目录,并修改权限


    shell > mkdir -p /usr/local/mysql/data

    shell > chown -R mysql:mysql  /usr/local/mysql

    shell >  tar zxf mysql-5.7.17.tar.gz   #解压mysql源码包

    shell >  cd mysql-5.7.17   #切换目录到刚解压的文件夹中

    shell >  cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/usr/local/mysql/data  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_BOOST=/usr/local/boost


    cmake 参数解释:

    -DCMAKE_INSTALL_PREFIX: 指定安装路径

    -DMYSQL_DATADIR : 指定数据存放路径

    -DMYSQL_UNIX_ADDR :指定套间字路径

    -DDEFAULT_CHARSET : 设置字符集

    -DDEFAULT_COLLATION : 设置字符校验集

    -DWITH_BOOST : 指定Boost扩展源码路径


    shell > make  #此过程很漫长,请耐心等待

    shell > make install

    shell > chown -R mysql:mysql /usr/local/mysql # 重新修改权限

    shell > cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #复制配置文件

    shell > vim /etc/my.cnf # 修改配置文件 修改内容如下

    basedir = /usr/local/mysql/

    datadir = /usr/local/mysql/data

    socket = /tmp/mysql.sock

    shell > cd /usr/local/mysql  #切换至安装目录

    shell > bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql   # 初始化数据库


    命令参数解释:

    --defaults-file : 制定MySQL配置文件路径

    --initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要修改密码

    --user: 指定账户

    上一个命令执行完之后,会在命令提示符的最后给出随机密码,

    一定记住 将此密码记录下来


    shell >  support-files/mysql.server start  #启动mysql 服务器

    shell > bin/mysql -u root -p

    Enter password:   # 输入刚刚的随机密码链接数据库

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY  '新密码';


    至此:MySQL5.7+ 编译安装完成;



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



    OK ,接下来我们在进行,二进制安装,

    二进制安装的方式相对来说就简单很多了,其实步骤类似,只是官方帮我们编译好了,不需要我们在使用cmake、make、make install 等命令进行编译;

    我们只需要下载解压,然后做相应的操作配置即可;

    但是,我们需要下载较大的二进制包文件;

    下载地址:

    https://dev.mysql.com/downloads/mysql






    下载完之后,我们进行相关的配置,前面的步骤几乎和编译安装时一样,同样需要添加用户和组;如果已经添加过,则不需要重复操作,直接跳过即可:


    shell > groupadd  mysql

    shell > useradd -r -g mysql -s /bin/false mysql  # 创建不可登录用户


    二进制安装需要 libaio 扩展:


    shell > yum -y install libaio  libaio-devel

    shell > tar zxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    shell > mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql # 将源码包剪切到相应目录

    shell > cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #复制配置文件

    shell > vim /etc/my.cnf # 修改配置文件 修改内容如下


    basedir = /usr/local/mysql/

    datadir = /usr/local/mysql/data

    socket = /tmp/mysql.sock


    shell > cd /usr/local/mysql #切换至目录

    shell > cd /usr/local/mysql  #切换至安装目录

    shell > bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql   # 初始化数据库


    命令参数解释:

    --defaults-file : 制定MySQL配置文件路径

    --initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要修改密码

    --user: 指定账户

    上一个命令执行完之后,会在命令提示符的最后给出随机密码,

    一定记住 将此密码记录下来


    shell >  support-files/mysql.server start  #启动mysql 服务器

    shell > bin/mysql -u root -p

    Enter password:   # 输入刚刚的随机密码链接数据库

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY  '新密码';


    至此二进制安装完成!!!

    编译安装与二进制安装过程和原理几乎一致,最大的区别就是,编译安装时我们需要下载源代码进行手动编译,而二进制安装不需要我们进行手动编译;

  • 相关阅读:
    animate动画回调函数
    triggerHandler不执行事件默认值
    trigger自动执行事件
    js与jquery对象的互转
    让低版本浏览器支持html5的标签
    闭包的好处罗列
    AJAX跨域
    php能干什么?
    concat() 方法用于连接两个或多个数组。
    使用 v-cloak 防止页面加载时出现 vuejs 的变量名
  • 原文地址:https://www.cnblogs.com/xiaoyongzhuo/p/7090712.html
Copyright © 2011-2022 走看看