编译部署 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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Functional Programming in Scala

Functional Programming in Scala

Paul Chiusano、Rúnar Bjarnason / Softbound print / 2014-9-14 / USD 44.99

Functional programming (FP) is a programming style emphasizing functions that return consistent and predictable results regardless of a program's state. As a result, functional code is easier to test ......一起来看看 《Functional Programming in Scala》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具