安装环境:

CentOS6.3 64位

软件:

Mysql-5.6

所需包:

gcc/g++ :MySQL 5.6开始,需要使用g++进行编译。
cmake  :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本。
bison  :MySQL语法解析器需要使用bison进行编译。
ncurses-devel :用于终端操作的开发包。
zlib    :MySQL使用zlib进行压缩

有关库包下载:

可以自己去官网下载,也可以去网盘下载

http://pan.baidu.com/s/1nuOm0fn

有关MySQL编译参数:
  CMAKE_BUILD_TYPE            编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化。
  CMAKE_INSTALL_PREFIX        指定make install安装的目标路径。
  SYSCONFDIR                  指定配置文件的默认路径。
  MYSQL_DATADIR              指定data目录的默认路径。
  WITH_DEBUG                  指定是否有debugging信息,一般用于源码调试时,打开WITH_DEBUG,生产环境关闭。
  ENABLED_PROFILING          指定是否可以使用show profile显示操作执行的详细信息。
  DEFAULT_CHARSET            指定默认字符集,可以在启动的配置文件中指定。
  DEFAULT_COLLATION          指定默认字符比较、排序的规则。
  WITH_EXTRA_CHARSETS        指定其他可能使用的字符集。
  WITH_SSL                    指定SSL的类型,从5.6.6开始默认bundled类型,此外也可以指定SSL库的路径地址。
  WITH_ZLIB                  指定zlib的类型,用于压缩功能。
  ENABLED_LOCAL_INFILE        指定是否允许使用load data infile功能。
  WITH_EMBEDDED_SERVER        指定是否编译libmysqld嵌入式库。
  INSTALL_LAYOUT              指定安装的布局类型。
  WITH_storage_STORAGE_ENGINE 指定编译支持的存储引擎,默认支持MyISAM,MERGE,MEMORY,CSV存储引擎。

编译安装:

1.安装必须的库

通过YUM继续安装

gcc相关的包:yum install gcc*

yum install bison

yum install ncurses-devel

yum install zlib

Cmake由于CentOS6.3 yum中的Cmake版本为2.6而安装MySQL需要2.8以上的版本因而Cmake采用源码编译安装

(1)cmake安装:

本次安装采用的是cmake-2.8.5.tar.gz版本的包

tar -zxvf cmake-2.8.5.tar.gz
cd cmake-2.8.5
./configure
make
make install

全部成功后输入cmake --version命令

如果结果为:cmake version 2.8.5 则cmake安装成功。

ps:如果没有cmake的命令, 把bin下的cmake拷贝到/usr/bin/下

2.MySQL安装

MySQL源码安装包:(本次安装mysql 5.6.30版本)

mysql-5.6.30.tar.gz

tar -zxvf mysql-5.6.30.tar.gz
cd mysql-5.6.30
#创建mysql目录
mkdir -p /mysql/
mkdir -p /mysql/date
groupadd mysql
useradd -r -g mysql mysql
cmake . -DCMAKE_INSTALL_PREFIX=/mysql -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 make
make install

mysql安装参数说明:

-DCMAKE_INSTALL_PREFIX------------------------安装目录

-DINSTALL_DATADIR-------------------------数据库存放目录

-DDEFAULT_CHARSET---------------------------使用utf8字符

-DDEFAULT_COLLATION----------------------------校验字符

-DEXTRA_CHARSETS--------------------安装所有扩展字符集

-DENABLED_LOCAL_INFILE------------允许从本地导入数据

PS:如果需要重新编译的时候,需要旧的对象文件和缓存信息

make clean
rm -f CMakeCache.txt
rm -rf /etc/my.cnf

编译安装完成后

启动mysql服务:

chown -R root:mysql /mysql
chown -R mysql:mysql /mysql/date/
cd /mysql
scripts/mysql_install_db --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld

vi /root/.bash_profile

在最后加上一行

PATH=$PATH:$HOME/bin:/mysql/bin:/mysql/lib

到目前为止mysql安装工作就完成了

最后我们启动mysql服务:

service mysqld start

(服务名根据cp support-files/mysql.server /etc/init.d/mysqld复制过去的名字为准)

显示Starting MySQL.. SUCCESS! 则启动成功

修改ROOT用户密码,修改远程登录权限:

登入mysql数据库

mysql -uroot

#一开始默认密码为空

如果出现 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' 错误

解决方法如下

先查看报错信息查找mysql.sock的位置,本次是位于/tmp/mysql.sock中

修改my.cnf文件

vi /etc/my.cnf

把mysqld中的socket目录修改为/tmp/mysql.sock目录。

然后重启服务

service mysqld restart

在重新登录mysql数据库

mysql -uroot

登入之后

use mysql; #选取数据库
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; #赋予远程登录权限
update user set Password = password('*********') where User='root'; #修改root密码*******替换为需要的密码
flush privileges; #提交操作

之后root用户登入mysql数据库就需要密码了

PS:远程登录如果无法登陆检查一下服务器防火墙是否已经关闭

PS:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;

Linux(CentOS或RadHat)下MySQL源码安装的更多相关文章

  1. linux下mysql源码安装

    参考链接:http://blog.csdn.net/zqtsx/article/details/9378703 下载mysql安装包, 不会下载点这里 地址:ftp://mirror.switch.c ...

  2. maridb\mysql 源码安装,以10.1.26版本为例

    mysql 源码安装(mariadb 10.1.26) 1.环境部署 1 安装cmake 源码安装三部曲或者yum install cmake2安装依赖包yum install -y ncurses- ...

  3. CentOS 7运维管理笔记(10)----MySQL源码安装

    MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统.本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程. 1.下载源码 选择使用北理工的镜像文件: ...

  4. Linux MySQL源码安装缺少ncurses-devel包

    在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...

  5. ubuntu下mysql源码编译安装

    建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...

  6. Centos 6.5升级gcc : 源码安装 + rpm安装

    1. 前言 采用Centos 6.5默认的gcc版本为4.4.7,不支持c++ 11,需要升级: 首先想到用yum命令:执行yum update gcc-c++或yum update g++ 显示没有 ...

  7. mysql源码安装(5.1)

    下载mysql源码包并解压.wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73.tar.gztar -zxvf mysql-5 ...

  8. RedHat7下PostGIS源码安装

    本文介绍在RedHat7环境下安装使用PostGIS的流程. 1. PostgreSQL 1.1 yum安装PostgreSQL 这个比较简单,直接使用yum安装即可. $ sudo yum inst ...

  9. debian下如何源码安装tmux

    一.源码安装ncurses库 1.1 获取源码 wget https://invisible-island.net/datafiles/release/ncurses.tar.gz tar xvf n ...

随机推荐

  1. python总结

    环境:django,numpy,matplotlib, 解释语言:开发效率高,通用性强,内置方便的数据容器,易于扩展和嵌入. 语言:lua--嵌入式/网络/APP,erlang--嵌入式,python ...

  2. poj 1815 Friendship (最小割+拆点+枚举)

    题意: 就在一个给定的无向图中至少应该去掉几个顶点才干使得s和t不联通. 算法: 假设s和t直接相连输出no answer. 把每一个点拆成两个点v和v'',这两个点之间连一条权值为1的边(残余容量) ...

  3. Android 新兴的UI模式——侧边导航栏【转】

    侧边导航栏也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu.Side Navigation等.当然谷歌现在已经推出类似这个效果的组件--Navigation Drawe ...

  4. TRIZ系列-创新原理-21-高速通过原理

    高速通过原理,有的书也译为"降低有害作用的时间"原理,我比較倾向于叫高速通过原理,这个概念下,适用范围比較大些.高速通过原理的详细描写叙述例如以下:1)很高速的实施有害的或者有危急 ...

  5. matlab画甘特图

    近期为发小论文一直在研究作业调度问题,好不easy把数据搞出来了,结果又被画甘特图给难住了,查了各种资料.anygantt,highchart.Jfree chart等都试了,效果都不咋好.无意中留意 ...

  6. Apache Mina开发手冊之四

    Apache Mina开发手冊之四 作者:chszs,转载需注明. 博客主页:http://blog.csdn.net/chszs 一.Mina开发的主要步骤 1.创建一个实现了IoService接口 ...

  7. 在 win 10 中使用sql 2012 附加低版本数据失败的解决办法。

    随着win 10 的发布,我也尝试把自己的笔记本升级下,体验win10,由于自己电脑好长时间没有管理过,东西比较乱,一激动就格式了硬盘.但是所有的资料都丢失了,不过我都提前备份到网盘上.好了,废话不多 ...

  8. Node.js、Ionic、Cordova、AngualrJS安装

    1.安装node.js: 从node.js官网下载node.js安装包,node.js下载地址:https://nodejs.org/en/download/,选择对应系统的安装下载后进行安装.(注: ...

  9. 原生javascript实现老.虎机抽奖点名demo源码思路解析

    想着使用原生Javascript做一个随机点名的小应用, 也可以做抽奖使用. html简单化,人名单可以通过js生成并处理. 可以非常随意的添加修改人名字. 应用想带点特效,比如老.虎机转动的特效. ...

  10. js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳

    //时间格式2014-02-02 14:10:00改成时间戳 //此时构造出来的时间是:2013/03/08 00:00:00. //这样得到的是一个数值,表示的是从1970年1月1日0点0分0秒到d ...