1、前期准备

1.1 环境说明:
操作系统: CentOS release 6.4 (Final) [查看命令 cat /etc/redhat-release ]
mysql : mysql-5.6.26

1.2 彻底删除系统自带mysql

yum remove mysql mysql-server mysql-libs compat-mysql*
rm -rf /var/lib/mysql
#查看是否还有mysql安装程序
rpm -qa|grep mysql
rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包

1.3 安装包准备

下载编译工具以及mysql安装包。

cd cd /usr/local/src/
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.26.tar.gz
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

1.4 初始系统编译工具

yum install gcc gcc-c++ ncurses-devel perl -y

2、cmake 安装

cd cd /usr/local/src/
tar -xzvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap ; make ; make install

3、mysql 安装

3.1 创建 mysql用户和组
groupadd mysql
useradd -r -g mysql mysql

3.2 创建 mysql 需要目录

mkdir -p /usr/local/mysql
mkdir -p /data/mysqldb

3.3 解压&编译
tar -zxv -f mysql-5.6.16.tar.gz
cd mysql-5.6.16

cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/data/mysqldb -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock

make&&make install

3.4 修改mysql目录所有者和组

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

cd /data/mysqldb
chown -R mysql:mysql .

3.5 初始mysql

cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

3.6 复制mysql服务启动配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

修改 /etc/my.cnf

[mysqld]
basedir = /usr/local/mysql
datadir =/data/mysqldb/

3.7 复制mysql服务启动脚本以及配置PATH路径

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

vim /etc/profile
# 文件末尾添加
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

source /etc/profile
3.8 启动mysql服务 并 加入开机自启动
service mysqld start
chkconfig --level 35 mysqld on

3.9 检查mysql服务是否启动

netstat -tulnp | grep 3306
mysql -u root -p

3.10 添加防火墙

# root 用户登录 使用 /sbin/iptables
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart

4、mysql 安装验证

4.1 修改MySQL root用户密码

# 修改root 密码
# mysql -h127.0.0.1 -uroot -p
# update mysql.user set password=password("mysqldba") where user='root';
# flush privileges;

# mysql -u root -ppassword //进入mysql控制台
# mysql>use mysql;
-- 这个命令执行错误时可略过
# mysql>update user set host = '%' where user = 'root';
# mysql>flush privileges;
# mysql>select host, user from user; //检查‘%’ 是否插入到数据库中
# mysql>quit

5、 常见问题:

5.1 MySQL问题解决:-bash:mysql:command not found
因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,
系统在/usr/bin下面查此命令,所以找不到了
解决办法是:
ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可

参考文件:

《Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】》
http://blog.csdn.net/wendi_0506/article/details/39478369

CentOS 编译安装 mysql的更多相关文章

  1. centos编译安装mysql

    groupadd mysql #添加mysql组useradd -g mysql -s /sbin/nologin mysql #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系 ...

  2. CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作

    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614   使用yum安装的MySQL一般版本比较旧,但 ...

  3. CentOS源码编译安装MySQL 5.5.15

    CentOS源码编译安装MySQL 5.5.15   文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...

  4. CentOS 6.6 下源码编译安装MySQL 5.7.5

    版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...

  5. CentOS Linux下编译安装MySQL

    本文参考张宴的Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成.所有操作命令都在CentOS 6.4 64位操作系统下实践 ...

  6. CentOS下编译安装MySQL 5.6.21

    一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...

  7. CentOS 下编译安装MySQL

    CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql   #普通删除模式 rpm -e --nodeps mys ...

  8. Linux编译安装Mysql步骤

    一. Centos 用 wget 下载需要的软件,保存到目录/home/zwl/MySql/下 wget http://dev.mysql.com/get/Downloads/MySQL-5.5/my ...

  9. 【排障】编译安装Mysql并使用自启动脚本mysqld后报错

    本文用于记录在某次个人实验搭建DZ论坛,在编译安装部署mysql环节时出的错到最终排除错误的过程, 前面采用DZ官网所采用的编译安装mysql的过程就省去,主要从报错处开始讲述. (题外话,经此一役后 ...

随机推荐

  1. bootstrap日期选择器-datetimepicker

    地址:http://www.bootcss.com/p/bootstrap-datetimepicker/ 使用方法,html: <div class="input-append da ...

  2. jquery简单笔记(1) - 基础记录

    一.dom对象及jquery对象相互转换 jquery对象转换成dom对象,即 [index] 和 get(index) 第一种方式: var $j = $('#id'); // jquery对象 v ...

  3. Why we need template on Django ?

    Let's create a simple website by django ... step01: django-admin startproject x01 step02: cd x01 ls ...

  4. 02_Hello World!

    hello word ? 学习任何语言,我们都喜欢在屏幕上直接输出一点什么,作为最简单基本的案例.很多人习惯输出 hello world ,世界你好.感觉很有情况的样子——然而很多人都只停留在这个阶段 ...

  5. paip.元数据驱动的转换-读取文件行到个list理念 uapi java php python总结

    paip.元数据驱动的转换-读取文件行到个list理念 uapi java php python总结 #两个思路 1.思路如下:使用file_get_contents()获取txt文件的内容,然后通过 ...

  6. paip.log4j 日志系统 参数以及最佳实践

    paip.log4j 日志系统 参数以及最佳实践   %d{yyyy-MM-dd HH:mm:ss} [thrd:%t] %5p   loger:%c   (%C.%M.%L)  - %m%n 201 ...

  7. Sql Server 调用DLL

    背景 在处理数据或者分析数据时,我们常常需要加入一定的逻辑,该些处理逻辑有些sql是可以支持,有些逻辑SQL则无能为力,在这种情况下,大多数人都会编写相关的程序来处理成自己想要的数据,但每次处理相同逻 ...

  8. Python面试题(一)

    **晚上在公司的论坛上看到一道面试题,题目如下:随机给定一字符串和字符,要求重排,比如:'abde','c'.重排之后变成'abcde' **看到他们给的答案很多都是二分法重排,既然是字符类的处理,当 ...

  9. redolog文件头简单探究

    先切换: SQL> select group#,status from v$log; GROUP# STATUS---------- ----------------         1 INA ...

  10. Android使用的设计模式1——观察者模式

    设计模式,对程序员来说是一个坎,想在程序员这条路走得更远,设计模式是你的必修课.从大学时代接触GoF到工作几年后重新看设计模式,每次感觉都不一样.这次想借着分析Android Framework源码的 ...