操作系统:CentOS 6.7

MySQL版本:5.6.30

1.前期准备

首先需要CMake,可以yum直接安装:

```

yum install cmake

```

也可以官网 https://cmake.org/ 下载源码编译。

我这里选择了官网下载最新版本cmake-3.5.2.tar.gz。

```

# tar -zxvf cmake-3.5.2.tar.gz && cd cmake-3.5.2

./configure

部分输出略。

-- Build files have been written to: /soft/cmake-3.5.2

CMake has bootstrapped. Now run gmake.

gmake

make install

2.系统配置

添加组和用户:

groupadd mysql

useradd -g mysql mysql

vi /etc/security/limits.conf 文件末尾添加:

mysqlsoftnproc2047

mysqlhardnproc16384

mysqlsoftnofile1024

mysqlhardnofile65536

3.CMake编译配置

解压源码包:

tar zxvf mysql-5.6.30.tar.gz && cd mysql-5.6.30

CMake编译配置

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DENABLED_LOCAL_INFILE=ON

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITH_PARTITION_STORAGE_ENGINE=1

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

-DCOMPILATION_COMMENT='JSS for mysqltest'

-DWITH_READLINE=ON

-DSYSCONFDIR=/data/mysqldata/3306

-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock

遇到以下错误,

-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:85 (MESSAGE):

Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Call Stack (most recent call first):

cmake/readline.cmake:128 (FIND_CURSES)

cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)

CMakeLists.txt:421 (MYSQL_CHECK_EDITLINE)

-- Configuring incomplete, errors occurred!

See also "/soft/mysql-5.6.30/CMakeFiles/CMakeOutput.log".

See also "/soft/mysql-5.6.30/CMakeFiles/CMakeError.log".

[root@JY-DB mysql-5.6.30]#

yum安装提示缺失的包:

yum install ncurses-devel

重新删除配置文件:

rm -rf CMakeCache.txt

然后重新CMake工具编译:

CMake Warning:

Manually-specified variables were not used by the project:

WITH_READLINE

-- Build files have been written to: /soft/mysql-5.6.30

[root@JY-DB mysql-5.6.30]#

4.make && make install

[root@JY-DB mysql-5.6.30]# make && make install

大量输出略。

这个时间会比较长,也跟机器性能有关。

5.后期配置和测试

## 5.1 打包MySQL二进制版本: ##

[root@JY-DB data]# tar zcvf mysql-5.6.30.tar.gz /usr/local/mysql/

## 5.2 修改MySQL软件所在目录拥有者: ##

chown -R mysql.mysql /usr/local/mysql

## 5.3 修改mysql用户环境变量: ##

vi ~/.bash_profile

export LANG=zh_CN.GB18030

export PATH=/usr/local/mysql/bin:$PATH

## 5.4 创建数据库服务: ##

mkdir -p /data/mysqldata/{3306/{data,tmp,binlog},backup,scripts}

chown -R mysql.mysql /data/mysqldata

su - mysql

$ more /usr/local/mysql/support-files/my-default.cnf

$ vi /data/mysqldata/3306/my.cnf

my.cnf配置文件内容如下:

[client]

port = 3306

socket = /data/mysqldata/3306/mysql.sock

The MySQL Server

[mysqld]

port = 3306

user = mysql

socket = /data/mysqldata/3306/mysql.sock

pid-file = /data/mysqldata/3306/mysql.pid

basedir = /usr/local/mysql

datadir = /data/mysqldata/3306/data

tmpdir = /data/mysqldata/3306/tmp

open_files_limit = 10240

explicit_defaults_for_timestamp

sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Buffer

max_allowed_packet = 256M

max_heap_table_size = 256M

net_buffer_length = 8k

sort_buffer_size = 2M

join_buffer_size = 4M

read_buffer_size = 2M

read_rnd_buffer_size = 16M

Log

log-bin = /data/mysqldata/3306/binlog/mysql-bin

binlog_cache_size = 32M

max_binlog_cache_size = 512M

max_binlog_size = 512M

binlog_format = mixed

log_output = FILE

log-error = ../mysql-error.log

slow_query_log = 1

slow_query_log_file = ../slow_query.log

general_log = 0

general_log_file = ../general_query.log

expire-logs-days = 14

InnoDB

innodb_data_file_path = ibdata1:2048M:autoextend

innodb_log_file_size = 256M

innodb_log_files_in_group = 3

innodb_buffer_pool_size = 1024M

[mysql]

no-auto-rehash

prompt = (\u@\h)[\d]>_

default-character-set = gbk

初始化MySQL数据库:

$ /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysqldata/3306/data --basedir=/usr/local/mysql

## 5.5 启动数据库服务: ##

mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &

测试连接并查看MySQL进程和端口监听状态:

netstat -lnt | grep 3306

ps -ef | grep bin/mysql | grep -v grep

实际操作过程如下:

[root@JY-DB ~]# su - mysql

[mysql@JY-DB ~]$ mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.30-log JSS for mysqltest

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

(root@localhost)[(none)]> exit

Bye

[mysql@JY-DB ~]$ netstat -lnt |grep 3306

tcp 0 0 :::3306 ::

mysql整站源码安装_MySQL入门01-MySQL源码安装相关推荐

  1. mysql5.7.13编译安装_MySQL 5.7.13 源码编译安装配置方法图文教程

    安装环境:centos7 64位 mini版 官网源码编译安装文档: 一.系统安装条件 官方文档说明: 1> cmake mysql使用cmake跨平台工具预编译源码,用于设置mysql的编译参 ...

  2. mysql install语句_MySQL入门学习(一)安装与基本操作

    安装篇 PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合.在Windows环境下构筑和调试MySQL数据库是许多网站开发者的一种首选.本人在Windows98环境下初学MyS ...

  3. mysql+odbc驱动安装_MySQL的ODBC驱动下载及安装及ODBC配置

    点击进入mysql官网下载界面:https://dev.mysql.com/downloads/connector/odbc/ 2.安装驱动 3.配置数据源 依次找到[控制面板]-[管理工具]-[OD ...

  4. mysql5.7多实例安装_MySQL数据库5.7多实例安装

    本文主要向大家介绍MySQL数据库5.7多实例安装了 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. < [root@vhost1]# cd /opt/source [ro ...

  5. mysql新加不了数据库_MySQL数据库之mysql增加新用户无法登陆解决方法

    本文主要向大家介绍了MySQL数据库之mysql增加新用户无法登陆解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 今天安装openstack folsom版本,安装完m ...

  6. mysql怎么退出时保存导出_Mysql应用使用MySQL MySqldump命令导出数据时的注意事项...

    <Mysql应用使用MySQL MySqldump命令导出数据时的注意事项>要点: 本文介绍了Mysql应用使用MySQL MySqldump命令导出数据时的注意事项,希望对您有用.如果有 ...

  7. mysql5.7.11解压安装_mysql 5.7.11解压安装教程

    2.将my-default.ini文件另存为my.ini,并新建data目录(5.7以后没有data目录了) 3.修改my.ini文件,主要是添加如下几项 basedir = D:\mysql-5.7 ...

  8. mysql的命令行常用命令_MySQL Command Line[mysql命令行常用命令]

    MySQL Command Line[mysql命令行常用命令] (2012-04-25 16:51:59) 标签: it 第一招.mysql服务的启动和停止 net stop mysql net s ...

  9. mysql 怎么修改成新字段_Mysql入门第一课《建表、改表、删表》

    原文在我的 Github 上,欢迎订阅. 前言 本人想学数据库了,于是有了这个Mysql系列. 本系列主要用于本人学习Mysql的记录,我把它当做学习笔记. 没有从安装数据库及用户新增和权限分配等知识 ...

最新文章

  1. 弗林德斯大学计算机科学,想成为IT大神?就去学习弗林德斯大学计算机科学专业...
  2. faster-rcnn系列assert (boxes[:, 2] = boxes[:, 0]).all()和loss偶尔为nan的问题
  3. dsa java_将Java转换为python DSA签名
  4. POJ 2230 Watchcow 欧拉回路的DFS解法(模板题)
  5. C和混编混合编程----strcpy缓存溢出原理
  6. 原型模式(Prototype)以及深浅复制
  7. OpenCV-python学习笔记(四)——smoothing and blurring平滑和模糊
  8. 惊心动魄的阿波罗登月:软件和程序员才是幕后的英雄
  9. 【沫沫金】Sql子查询Not In 无结果原因
  10. c语言32bit数大小端转换,玩儿转C语言:bit 位域大小端转换及传输
  11. android imagebutton 动画,android – ImageButton Icon Tint基于State
  12. 自动驾驶相关功能名词和汽车名词解释
  13. NAS配置Time Machine,在D-Link DNS-320上的配置笔记
  14. 线性回归方程b保留几位小数_线性回归的这些细节,你都搞明白了吗?
  15. Seeding(深度优先遍历)
  16. 给孩子炖鳄鱼?时代变了,就比谁会玩儿...
  17. 跳跃游戏(数组下标跳跃)
  18. 解决微信公众号发布新的版本H5页面有缓存的问题
  19. css中float问题,列表中的css float问题
  20. mac上将视频变小_如何在Linux上将iPhone的.mov视频旋转90度?

热门文章

  1. Python基础-----列表、元组、集合(2)
  2. 推荐两款实用工具——hcache和SQLPad
  3. Java IO 之 InputStream源码(2)
  4. 动态加载JS脚本【转】
  5. 足球预测_预测足球热
  6. 面向Tableau开发人员的Python简要介绍(第2部分)
  7. leetcode 1006. 笨阶乘
  8. freeCodeCamp纳什维尔十月聚会回顾
  9. Window上安装kafka
  10. ES6之路第十三篇:Iterator和for...of循环