安装编译

下载源码

mysql-5.7.14.tar.gz

解压定义安装变量

cd /usr/local/src
mysql_version="mysql-5.7.14"
tar -zxf "${mysql_version}.tar.gz"
cd ${mysql_version}

配置

cmake \
-DCMAKE_INSTALL_PREFIX:PATH=/usr/local/services/${mysql_version} \
-DMYSQL_DATADIR:PATH=/data/${mysql_version} \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DMYSQL_USER=mysql \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=yes

报错:

CMake Error at cmake/boost.cmake:81 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> This CMake script will look for boost in <directory>. If it is not there,
it will download and unpack it (in that directory) for you. If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80 Call Stack (most recent call first):
cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST)
CMakeLists.txt:455 (INCLUDE)

解决:

mysql 依赖boost,添加编译选项:

-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/services/boost

备注:

  1. cmake 生成的临时文件是CMakeCache.txt, 需要删除掉之前配置生成的临时文件 rm CMakeCache.txt
  2. 重新进行配置检查,避免由于,更新系统软件包后,依然使用旧的临时文件,导致配置找不到相关的库。

安装

make
make install

配置启动

以下操作用户均为root

创建用户,数据库初始化

# 创建mysql运行用户
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql # 创建mysql数据目录,并授权
mkdir -p /data/${mysql_version}
chown -R mysql:mysql /usr/local/services/${mysql_version}
chown -R mysql:mysql /data/${mysql_version} # 初始化mysql 系统数据表
# /usr/local/services/${mysql_version}/bin/mysqld \
--initialize \
--user=mysql \
--datadir=/data/${mysql_version} 2016-08-02T14:27:01.183217Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-08-02T14:27:01.183281Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2016-08-02T14:27:01.183289Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2016-08-02T14:27:02.931391Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-08-02T14:27:03.297417Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-08-02T14:27:03.488097Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 2e93cf2d-58bd-11e6-8ed6-94de801a0a56.
2016-08-02T14:27:03.519545Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-08-02T14:27:04.091878Z 0 [Warning] CA certificate ca.pem is self signed.
2016-08-02T14:27:04.223888Z 1 [Note] A temporary password is generated for root@localhost: _bfdDjzhw0ru # 创建配置文件
mkdir -p /usr/local/services/${mysql_version}/etc/
cp /usr/local/services/${mysql_version}/support-files/my-default.cnf /usr/local/services/${mysql_version}/etc/my.cnf /usr/local/services/${mysql_version}/bin/mysql_ssl_rsa_setup # 设置权限
chown -R root /usr/local/services/${mysql_version}
chown -R mysql /data/${mysql_version}

注意:

  1. 配置文件 etc/my.cnf 需要配置完全,包括安装目录,数据存储目录,等...
  2. 初始化数据库表, mysql-5.7.6 之后发生了变更,之前是 mysql_init_db
  3. 若使用etc/my.cnf 中的配置,则需将/etc/my.cnf 中的相关的配置项注释掉

启动mysql

/usr/local/services/${mysql_version}/bin/mysqld_safe --user=mysql &

注意:

无需指定--default-file=$basedir/etc/my.cnf,mysql 有默认的配置文件加载顺序

/etc/my.cnf
basedir/etc/my.cnf

连接mysql

mysql -uroot -p

注意:

若提示无法使用xx.sock,这是因为没有指定连接的sock,可配置my.cnf,指定连接的sock

[client]
socket=/data/${mysql_version}/mysql.sock

更新root密码

update mysql.user set password=password('123456') where user='root';

报错:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决:

SET PASSWORD = PASSWORD('123456');

关闭mysql

/usr/local/services/${mysql_version}/bin/mysqladmin shutdown -uroot -p

设置启动项

cp support-files/mysql.server /etc/init.d/mysql.server

参考:

mysql-5.7.14 源码安装笔记的更多相关文章

  1. mysql 5.7.18 源码安装笔记

    之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷. 如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的. ...

  2. MySQL学习之路 一 : MySQL 5.7.19 源码安装

    MySQL 5.7.19 源码安装 查看系统: # cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装依赖包 # yum - ...

  3. zabbix-3.4.14源码安装

    此次介绍一下,zabbix的源码安装,因为zabbix的依赖很多,所以源码安装有很多依赖需要安装 首先,下载zabbix源码包 wget https://nchc.dl.sourceforge.net ...

  4. LNMP架构下的nginx、mysql、php的源码安装

    一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...

  5. mysql 在cento下源码安装

    虚拟机改为网络地址转换 (NAT) service network restartping www.baidu.com rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm ...

  6. 数据库的硬迁移和mysql 5.5.38源码安装

    场景:一台服务器出现了故障,需要把数据库迁移到另一台服务器上,由于数据效大,直接压缩数库的数据目录(在数据库DOWN的情况下)数据库版本mysql 5.5.38安装方式:源码安装思路:在另一台服务器上 ...

  7. linux应用之Lamp(apache+mysql+php)的源码安装(centos)

    Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-l ...

  8. MySQL 5.6.26源码安装

    5.6.26源码安装包:http://pan.baidu.com/s/1kUl44WRcmake安装包链接:http://pan.baidu.com/s/1c0LuwJA 操作系统版本:CentOS ...

  9. mysql 5.7.11 源码安装

    mysql5.711安装 1.安装boost包下载地址http://sourceforge.net/projects/boost/files/boost/ 2.解压boost_1_59_0.tar.g ...

随机推荐

  1. Find out files transfered via Bluetooth

    The case was about business secret and forensic guy did a physical acquisition from a smart phone. H ...

  2. 转:MyBean简介

                        (在开始之前,非常感谢 D10.天地弦) 1.1 概述 MyBean是一个用于Delphi应用程序开发的开源.轻量级.可配置插件框架.它通过巧妙的系统架构设计, ...

  3. VS2008下,aspx页面设计模式消失,只有黑白字体

    版权声明:本文为博主原创文章,未经博主允许不得转载. RT,在工具选项里面重新设定的时候,报错,说一部分文件无法安装. 寻找一晚上,终于有了解决方案,供以后参考. luanwey(大陆响尾蛇)(不做温 ...

  4. etcdctl 命令介绍

    通过不同的设置api 版本环境变量,支持的命令行不同. Interacting with etcd:  https://coreos.com/etcd/docs/latest/dev-guide/in ...

  5. java J2EE与DiscuzX3.2的UCenter实现单点登录

    最近笔者在实现Java项目对discuz的整合.在此过程中,查了很多这方面的资料,发现网上并没有说得比较全面的文章.笔者博取众长以及自己在此过程中遇到的问题,写下来供大家参考,希望大家可以在这过程中少 ...

  6. modelsim(3) - tips(zt)

    1)如果需要跟踪信号,可以使用dataflow,直观,缺点是后仿太慢! http://www.cnblogs.com/asus119/archive/2011/04/01/2002525.html M ...

  7. ORACLE 实例及RAC

    ORACLE 实例及RAC 一.问题 (1)现象 部署一个sh脚本到生产oracle服务器上,该sh脚本负责读取外系统提供的txt文件,然后用sql loader入库,由oracle服务器的cront ...

  8. JS中的get & set

    之前在看<Javascript 高级程序设计>一书中遇到过getter和setter,但因当时难于理解,且觉得用处较小,没有细看,今日突然遇到了一种使用get&set读写对象属性的 ...

  9. 《On Lisp》第四章第三节图4.3中的prune函数fix

    这个函数作者的原意是删除表中test位真的部分,并且表按原样返回. 作者给出的的测试用例如下: (prune #'evenp '(1 2 (3 (4 5) 6) 7 8 (9))) 返回结果是: (1 ...

  10. Cocos学习-----Cocos2Dx安装

    昨天晚上从官网下载了cocos2dx,打开发现win下工程已经是2010了最少,很是郁闷.尝试着在08下新建工程然后添加文件,发现还是很麻烦,于是下载了vs2010,打开编译报错:error C206 ...