编译部署 Mysql 5.7

栏目: 数据库 · 发布时间: 6年前

内容简介:make                                               make

1.环境准备

  • RHEL7.4(最小化安装)  64bit    2G 内存  (1G 内存编译将近一个小时)
  • 磁盘空间 15G 以上。
  •  配置为本地yum 源
  •  从 MySQL 5.7版本开始,安装MySQL需要依赖 Boost 的C++扩展,而且只能是 1.59.0 版本;  

2.cmake简介

从mysql5.5起,mysql源码安装开始使用cmake.CMake一个跨平台的安装( 编译 )工具,可以用简单的语句来描述所有平台的安装(编译过程)。 他能够输出各种各样的makefile或者project文件,能测试 编译器 所支持的C++特性,类似UNIX下的a u tomake。

   configure方式和 cmake 方式对比区别:

configure command cmake command

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

./configure                              cmake .

./configure --help                    cmake . -LH or ccmake .

##重新编译时,需要清除旧的对象文件和缓存信息----------------------

make clean                             rm -f CMakeCache.txt

##安装选项 --------------------------------------------------------------------

--prefix=/usr/local/mysql        -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

##最终安装--------------------------------------------------------------------

make                                               make
make install                                     make install

使用configure编译完将生成 config.log 和 config.status 文件。

使用cmake编译完在CMakeFiles目录下生成 CMakeError.log 和 CMakeOutput.log 文件。

3.准备工作

  • 准备 c++ booost 库,不需要编译 。

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

tar xf boost_1_59_0.tar.gz

mv boost_1_59_0 /usr/local/boost

  • 下载mysql并解压[root@001 ~]# tar xf mysql-5.7.19.tar.gz -C /usr/local/src

    [root@001 ~]# cd !$

    [root@001 src]# cd mysql-5.7.19/

  • .安装相关编译工具

[root@001 mysql-5.7.19]# yum -y install gcc-c++ ncurses-devel cmake

4 .编译安装( 注意以下所有操作均要进入mysql-5.7.19中进行

  •    [root@001 mysql-5.7.19]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

 ## cmake 的检测过程中,如果出现错误,需要重新 cmake, 删除缓存文件

           ##  rm CMakeCache.txt, 然后重新 运行 cmake 。

cmake 参数解析 :--------------------------------------
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql57   指定安装路径
-DMYSQL_DATADIR=/data/mysql      指定数据存放路径
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci        设置字符校验集
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock        设置套接字生成路径
-DMYSQL_USER=mysql
-DWITH_MYISAM_STORAGE_ENGINE=1       存储引擎的支持
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DDOWNLOAD_BOOST=1
-DWITH_BOOST=/usr/local/boost              指定Boost扩展源码路径

  •   make

##此过程很漫长,请耐心等待,#如果出错重新运行配置,需要删除 CMakeCache.txt文件,

使用命令: rm -f CMakeCache.txt

  • make install

## 千万注意磁盘空间的使用率。

5.配置文件

  •  提供配置文件, my.cnf 默认配置详情如下,可以自己建立

[client]

port=3306

socket= /mysql/ mysql.sock          ##注意修改所有者:mysql

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

skip-grant-tables                             ##跳过授权表  可以直接进入数据库修改密码

user=mysql

port=3306

basedir= /usr/local/mysql57              ##注意修改所有者:mysql

datadir=/mysql

tmpdir=/tmp

socket=/mysql/mysql.sock

log-error=/mysql/mysqld.log

pid-file=/mysql/mysqld.pid

6.修改启动客户端方式

  •     PATH=$PATH:/usr/local/mysql57/bin 写入到 /etc/profile 中,永久生效 source /etc/profile 重新读取生效

## 将编译好的 mysql bin 里面的命令,加入到 $PATH 变量中,可使用[root@server-150 ~]# mysql进入客户端

  • 不修改可以使用绝对路径     [root@server-150 ~]# /usr/local/mysql57/bin/mysql

7.初始化数据库

  • 初始化数据库

[root@http9 mysql]# /usr/local/mysql57/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

# 初始化数据库, 确保 /mysql 目录是mysql 可写的。

命令参数解释:

--defaults-file : 指定MySQL配置文件路径 ##这里面有我们刚才配置好的参数

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

--user: 指定运行用户

  •  启动mysql 服务

[root@http9 mysql]# /usr/local/mysql57 / support-files/mysql.server   start

8.修改root密码

[root@server-150 ~]# mysql                             ##进入数据库

修改密码的三种方法:

方法一 :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123123'; ##成功后修改新密码。

mysql> flush privileges;

方法二:

SET PASSWORD = PASSWORD('你的新密码');        ## 新版本的root 密码不再接受 弱密码,需要一定的复杂度。

否则会提示错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

方法三:

update mysql.user set authentication_string=password("123123@qq.com");

flush privileges;

总结: 修改密码后即可正常使用mysql,与rpm版相比编译版更加简洁,删除数据时只需要将数据目录/mysql和基本目录、usr/local/mysql57删除即可。


以上所述就是小编给大家介绍的《编译部署 Mysql 5.7》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

社群营销实战手册

社群营销实战手册

秋叶、邻三月、秦阳 / 人民邮电出版社 / 2018-1 / 69.00元

互联网正从“物以类聚”,走向“人以群分”的时代。秋叶等人的“社群营销”,并非单纯靠社群卖东西,而是建立一种中心化的、自行运转的生态,让“同好”们形成紧密的联系,创造出海量营销机会。 《社群营销实战手册 从社群运营到社群经济》共5章内容,从社群的定位、建立、扩张、变现、运营,到社群的生命周期延长、社群运营团队的打造和管理以及社群管理工具,大量干货秘笈一应俱全,并提供丰富的运营实战案例,全面解读社群的......一起来看看 《社群营销实战手册》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具