安装必需的工具

  比如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. K8S 1.12大特性最快最深度解析:Kubernetes CSI Snapshot(上)

    ​ 背景 许多存储系统提供了创建存储卷“快照”(snapshot)的能力,以防止数据丢失.快照可以替代传统的备份系统来备份和还原主要数据和关键数据.快照能够快速备份数据(例如,创建GCE PD快照仅需 ...

  2. Python3 acm基础输入输出

    案例一:输入字符串分割并转化成多个int数值 a, b= map(int, input().split()) try: while True: a, b= map(int, input().split ...

  3. Castle Windsor Ioc 一个接口多个实现解决方案

    介绍 Castle Windsor 是微软的Ioc类库,本文主要介绍解决一个接口多个实现的解决方案 接口和类 以下内容不是真实的实际场景,仅仅是提供解决一个接口多个实现的思路. 业务场景类 先假设有一 ...

  4. spring框架中的一个字符串的工具类

    stringutils.hasText("字符串") 如果字符串里面的值为null, "", "   ",那么返回值为false:否则为tr ...

  5. urlrewrite与struts2结合使用基本配置

    1.更改web.xml,,,在struts2拦截器前面添加urlrewrite配置信息,,默认是forward的 <filter> <filter-name>UrlRewrit ...

  6. flask 杂记3

    SQLAlchemy在模型之间建立关系模式:  https://www.bbsmax.com/A/mo5k7gKn5w/ 一对多时:外键只能存储单一数据(标量),所以外键总是在“多”这一侧定义,多篇文 ...

  7. AcWing P373 車的放置

    Analysis 这道题是二分图匹配,设可以放車的的地方的坐标为(i,j),则连一条i到j的有向边(注意是有向边),然后再跑匈牙利算法就好了.时间复杂度是O(nm(n+m)),在1≤n,m≤200的情 ...

  8. 后台(一)vue+element-ui(全局配置)

    vue init webpack    项目名称 npm install axios                    //先安装! npm install --save axios vue-ax ...

  9. VM 虚拟机 CentOS 7 设置 桥接网络

    桥接网络的设置:   安装时设置网络为桥接网络!   找到 ip 地址,设置如下   注意ip地址并不是一样的,用以区分   然后在关闭 windows 防火墙,打开 cmd 使用 ping 命令 O ...

  10. C语言中怎样定义能够保存16进制整数的变量

    可以通过int 或long int存储,16进制整数说到底还是整数,16进制只是一种记数方式.例如,int x=0x16;十六进制(hexadecimal)只是计算机中数据的一种表示方法,规则是“逢十 ...