安装必需的工具

  比如cmake、gcc、g++、git

  CentOS使用下面的命令:

yum install cmake gcc g++ git

  Ubuntu使用下面的命令:

apt-get install cmake gcc g++ git

  或者

#centos
yum groupinstall "Development Tools" #ubuntu
apt-get install -y build-essential

  

安装ncurses

  CentOS使用下面的命令:

yum install ncurses-devel

  Ubuntu使用下面的命令:

apt-get install libncurses5-dev

  

安装openssl和libssl_dev

  CentOS使用下面的命令:

yum install openssl libssl_dev

  Ubuntu使用下面的命令:

apt-get install openssl libssl_dev

  

  

下载mysql源码

cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz
tar -zxf mysql-5.6.44.tar.gz
cd mysql-5.6.44/

编译配置

cmake  \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DWITH_SSL=yes \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

    

编译安装

make && make install

  考虑到mysql的make操作需要很长时间,如果是多核处理器,建议使用多核同时进行编译:

# 开启4个job进行make操作
make -j 4 # 编译完成后进行安装
make install

  

常见问题的解决方案

  可以查看编译安装MySQL5.6失败的相关问题解决方案

  是我在安装mysql的时候,经常出现的错误,以及相关解决方案。

 

拷贝相关配置文件

#进入到安装目录
cd /usr/local/mysql/ #创建mysql用户和用户组
useradd mysql #将安装目录的所属用户组和用户改为mysql
chown -R mysql:mysql /usr/local/mysql/ #改变data目录的读写权限
chmod 764 -R /usr/local/mysql/data/ #拷贝mysql配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #添加mysql到init.d中,使得可以通过service mysqld start|stop|restart来管理mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

  

修改配置文件

vi /etc/my.cnf

#修改配置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
#server_id = .....
#socket = .....
#编辑完之后,保存并退出

  

初始化并启动数据库

#初始化数据库,--user表示使用前面的mysql用户
/usr/local/mysql/scripts/mysql_install_db --user=mysql #启动数据库
service mysqld start #查看数据库是否启动
lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 23551 mysql 10u IPv6 167754 0t0 TCP *:mysql (LISTEN)

  

  

添加mysql/bin到全局变量PATH中

#编辑~/.bash_profile
#在PATH后面增加/usr/local/mysql/bin
#比如之前是PATH=$PATH:$HOME/bin:/usr/local/node/bin
#那么此时在最后面追加 PATH=$PATH:$HOME/bin:/usr/local/node/bin:/usr/local/mysql/bin
export PATH #保存并退出 source ~/.bash_profile

  

登录到MySQL

#初次登录数据库时,并没有为root用户设置密码,即密码为空
mysql -uroot -p

  

修改mysql的root用户密码

#将root用户的密码改为123456
mysqladmin -u root password "123456" #使用新密码登录
mysql -h localhost -uroot -p123456  

编译安装MySQL5.6的更多相关文章

  1. CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25

    所需源码包: /usr/local/src/MySQL-5.5.25/cmake-2.8.8.tar.gz /usr/local/src/MySQL-5.5.25/mysql-5.5.25.tar.g ...

  2. 基于cmake编译安装MySQL-5.5

    cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...

  3. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

  4. Ubuntu14.04编译安装mysql5.6.26

    Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...

  5. centos6.6下编译安装mysql5.6之后启动失败:Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

    今天在编译安装mysql5.6时候出现Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysq ...

  6. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  7. centos6.7下 编译安装MySQL5.7

    centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ...

  8. centos6.7编译安装mysql5.7.17

    centos6.7编译安装mysql5.7.17 2017-03-24 09:57:15 提示:mysql5.7.17和之前5.56以前的版本安装不一样,需要用cmake 另外,看本文档的mysql编 ...

  9. centos7.2环境编译安装mysql5.5.48

    一.安装cmake编译工具 跨平台编译器 查看是否已经安装了gcc # rpm -qa | grep gcc # yum install -y gcc-c++ # yum install -y cma ...

  10. 源码编译安装mysql5.5.33

    源码编译安装mysql5.5.33 一.安装cmake编译工具 跨平台编译器 # yum install -y gcc* # yum install -y cmake 解决依赖关系 # yum ins ...

随机推荐

  1. Java 反射原理

    一.Java 反射的定义 反射机制是在运行状态中, 对于任意一个类, 都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法或者属性: 二.反射提供的功能: 在运行时判断任意 ...

  2. linux个人常用命令【持续更新】

    netstat -tnl 查看网络相关的端口情况 ps -A 查看所有进程的情况 cat /proc/cpuinfo| grep "physical id"| sort| uniq ...

  3. Socket实现client和server端通信(Java)(转)

    转自: https://blog.csdn.net/yayun0516/article/details/50819147 https://www.jianshu.com/p/2d4f223f1462 ...

  4. WebAPI 问题集锦

    一.OWIN 禁用设置 在项目中添加了 OWIN 的引用,打算后面用到,但是在启动项目的时候报错: “No assembly found containing a Startup or [Assemb ...

  5. 《The One!》团队作业4:基于原型的团队项目需求调研与分析

    项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)体验以原型设计为基础的团队软件项目需求获取技巧与方法.(2)学习利用UML模 ...

  6. 企业级本地yum源配置方案详解

    因目前企业生产网络禁止联网,对于使用Linux的我们来说,非常不方便,想要使用yum源都很困难,挂dvd又不能完全满足要求,所以自建一个企业级的yum源,定时从公网同步到本地,然后生产网络直接配置在本 ...

  7. jQuery toast 淡入淡出提示

    #toast{ position: fixed; top: 44%;left:50%;transform: translateX(-50%); min-width: 80px; max-width: ...

  8. JavaScript常用的方法

    indexOf() 功能:indexOf() 方法返回调用 String 对象中第一次出现的指定值的索引. 语法:indexOf(searchValue, fromIndex) searchValue ...

  9. setTimeout与setInterval区别

    setTimeout与setInterval区别 代码 setTimeout("showresponse('${rootUrl}index/movie.do','movieId')" ...

  10. [Dart] Manipulate Lists/Arrays in Dart

    We will learn how to work with Lists using a variety of methods made available in the dart:core libr ...