1.去MySQL官网下载源码包

  地址:http://dev.mysql.com/downloads/mysql/

  

  下载完后需要检查文件的MD5,以确认是否从官网下载的原版本(以防被人篡改过该软件)

  使用md5sum命令来检查:

  [root@localhost src]# md5sum mysql-5.6.31.tar.gz

  a2d1d89c85ee1f5b1059dbfc741f0b0d  mysql-5.6.31.tar.gz

  可以看出,与上图中的MD5是一致的,如果不一致,就要更换一个镜像地址来下载mysql

2.安装mysql

准备安装环境

首先检查是否已经安装过mysql:

[root@localhost src]# rpm -qa | grep mysql

有的话就卸载掉以前安装的mysql:

[root@localhost src]# rpm -e --nodeps xxx(xxx是搜索结果)

并删除所有的相关文件:

/etc/my.cnf

编译和安装

安装编译代码所需要的包

[root@localhost src]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio
[root@localhost src]# yum install libaio libaio-devel -y
[root@localhost src]# yum install perl-Data-Dumper -y
[root@localhost src]# yum install net-tools -y

解压安装包并编译安装

[root@localhost src]# tar xvf mysql-5.6.31.tar.gz
[root@localhost src]# cd mysql-5.6.31

[root@localhost mysql-5.6.31]#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

编译成功

[root@localhost src]# make && make install

至此,mysql安装完成

配置mysql

检查系统是否已经有mysql用户,如果没有则创建

[root@localhost mysql-5.6.31]# cat /etc/passwd | grep mysql
[root@localhost mysql-5.6.31]# cat /etc/group | grep mysql

创建mysql用户(但是不能使用mysql账号登陆系统)

[root@localhost mysql-5.6.31]# groupadd mysql
[root@localhost mysql-5.6.31]# useradd -g mysql mysql -s /sbin/nologin

修改权限

[root@localhost mysql-5.6.31]# chown -R mysql:mysql /usr/local/mysql

至此,mysql安装完毕

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

[root@localhost mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!

注意:在CentOS 7版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

4.启动mysql

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chkconfig mysql on
[root@localhost mysql]# service mysql start --启动MySQL

3.配置环境变量

  这个时候会发现mysql -uroot -p无法使用

  因为没有把mysql工具加入到环境变量中 

  修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
  PATH=$PATH:/usr/local/webserver/php/bin:/usr/local/webserver/mysql/bin
  export PATH

  最后:执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。

MySQL源码安装(centos)的更多相关文章

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

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

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

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

  3. Linux(CentOS或RadHat)下MySQL源码安装

    安装环境: CentOS6.3 64位 软件: Mysql-5.6 所需包: gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake  :MySQL 5.5开始,使用cmake进 ...

  4. mysql源码安装(5.1)

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

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

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

  6. mysql源码安装(包括5.5和5.7)

    1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...

  7. zabbix,php,nginx,mysql源码安装 神仙操作

    →软件包 mkdir /soft/ cd /soft ♦下载以下软件包 nginx-1.14.2.tar.gz wget http://nginx.org/download/nginx-1.14.2. ...

  8. Greenplum源码安装(CentOS 7)

      最近在看GP,在安装集群的时候遇到了很多问题,在此记录下来. 目录 1 安装环境及软件版本 2 安装准备工作 2.1 修改hosts(所有机器) 2.2 修改系统内核配置(所有机器) 2.3 关闭 ...

  9. nginx源码安装(CentOS版)

    准备工作: 1) 配好网易yum源 登录此网站(http://mirrors.163.com/.help/centos.html),下载相应版本的yum源至服务器的/etc/yum.repos.d/目 ...

随机推荐

  1. Linux系统VPS/服务器安装WINDOWS桌面环境可以采用的几个方法

    我们公司的几个项目需要在WINDOWS桌面类型的界面操作,哪怕仅有一个浏览器远程操作也是可以的,我们运维部门得到的任务就是需要能在已有的Linux系统的VPS.服务器环境中能够远程操作,至少需要能可以 ...

  2. Centos6.3手动rpm安装gcc,c++

    如果你的服务器是不能上网的,那就说明你要手动安装很多软件,比如gcc; 1,首先到http://vault.centos.org/6.3/os/x86_64/Packages/下载用到的rpm包,包括 ...

  3. 模拟点击a链接

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ...

  4. 关于Webapp的注意事项

    meta标签 <meta name="viewport" content="width=device-width, initial-scale=1.0, user- ...

  5. 火狐中,设置align="center"失效的解决方法

    如下: <img align="center" style="vertical-align:top"></img> 只需要加上: ver ...

  6. mobiscroll 插件札记(一)

    mobiscroll 插件笔记(一) 文章参照  http://www.cnblogs.com/headwolf/archive/2013/12/23/3487207.html 最近切一个移动页面,需 ...

  7. 使用 Spark MLlib 做 K-means 聚类分析[转]

    原文地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-spark-practice4/ 引言 提起机器学习 (Machine Lear ...

  8. 游戏Demo(持续更新中...)

    格斗游戏 主要用于联系Unity的动画系统,并加入了通过检测按键触发不同的技能. WASD控制方向,AD为技能1,SW为技能2,右键跳跃,连续单机普通连招. 本来是要用遮罩实现跑动过程中的攻击动作,但 ...

  9. Entity Framework Code First -- Migrations 迁移

    在开始使用迁移(Migrations)之前,我们需要一个 Project 和一个 Code First Model, 对于本文将使用典型的 Blog 和 Post 模型 创建一个新的控制台应用程序 M ...

  10. kettle连接Hive中数据导入导出(6)

    1.hive往外写数据 http://wiki.pentaho.com/display/BAD/Extracting+Data+from+Hive+to+Load+an+RDBMS 连接hive