内容简介: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 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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- golang编译程序在linux上的部署
- 区块链研究实验室 | 使用JavaScript编译和部署以太坊智能合约
- 单台主机一键编译部署LAMP+wordpress+discuz系统的shell脚本
- linux 部署golang 项目(直接部署和基于nginx部署)
- Xcode 编译疾如风系列(二):并行编译
- 编写 MSBuild 内联编译任务(Task)用于获取当前编译环境下的所有编译目标(Target)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Master Switch
Tim Wu / Knopf / 2010-11-2 / USD 27.95
In this age of an open Internet, it is easy to forget that every American information industry, beginning with the telephone, has eventually been taken captive by some ruthless monopoly or cartel. Wit......一起来看看 《The Master Switch》 这本书的介绍吧!