MySQL源码安装(centos)
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)的更多相关文章
- maridb\mysql 源码安装,以10.1.26版本为例
mysql 源码安装(mariadb 10.1.26) 1.环境部署 1 安装cmake 源码安装三部曲或者yum install cmake2安装依赖包yum install -y ncurses- ...
- CentOS 7运维管理笔记(10)----MySQL源码安装
MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统.本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程. 1.下载源码 选择使用北理工的镜像文件: ...
- Linux(CentOS或RadHat)下MySQL源码安装
安装环境: CentOS6.3 64位 软件: Mysql-5.6 所需包: gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进 ...
- mysql源码安装(5.1)
下载mysql源码包并解压.wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.73.tar.gztar -zxvf mysql-5 ...
- Linux MySQL源码安装缺少ncurses-devel包
在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...
- mysql源码安装(包括5.5和5.7)
1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...
- zabbix,php,nginx,mysql源码安装 神仙操作
→软件包 mkdir /soft/ cd /soft ♦下载以下软件包 nginx-1.14.2.tar.gz wget http://nginx.org/download/nginx-1.14.2. ...
- Greenplum源码安装(CentOS 7)
最近在看GP,在安装集群的时候遇到了很多问题,在此记录下来. 目录 1 安装环境及软件版本 2 安装准备工作 2.1 修改hosts(所有机器) 2.2 修改系统内核配置(所有机器) 2.3 关闭 ...
- nginx源码安装(CentOS版)
准备工作: 1) 配好网易yum源 登录此网站(http://mirrors.163.com/.help/centos.html),下载相应版本的yum源至服务器的/etc/yum.repos.d/目 ...
随机推荐
- selenium中的webdriver定位元素失败的常见原因
自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最 ...
- Java JVM 请别拿“String s=new String("z");创建了多少实例”来面试 [ 转载 ]
Java 请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧 [ 转载 ] @author RednaxelaFX 原文链 ...
- 6、Struts2拦截器实现权限控制
1.创建如下项目结果 2.在com.entity包下创建 package com.entity; public class User { private String name; private St ...
- OpenLayer
<html> <head> <meta charset="utf-8"> <title>GIS开发样例-V1.0</title ...
- HDU 1969 Pie(二分搜索)
题目链接 Problem Description My birthday is coming up and traditionally I'm serving pie. Not just one pi ...
- MVC3+EF4.1学习系列(六)-----导航属性数据更新的处理
通过上一篇的学习 我们已经知道怎么查询关系 这篇就来说说怎么导航属性数据更新时的处理 以及EF又会为我们生成哪些SQL~ 老规矩 先看下今天的图 添加和修改页面基本就是这样 这节的内容相对简单~~ 主 ...
- AFNetworking 关于JSON text did not start with array or object and option to allow fragments not set 错误
AFHTTPSessionManager *manager =[AFHTTPSessionManager manager]; [manager GET:@"http://www.baidu. ...
- javascript动画效果之透明度
在css中的filter对应老版本的ie浏览器,opacity对应的是其他浏览器 <!DOCTYPE html> <html> <head> <meta ch ...
- ural 1352. Mersenne Primes
1352. Mersenne Primes Time limit: 1.0 secondMemory limit: 64 MB Definition. If the number 2N−1 is pr ...
- Eclipse没有提示了,按Alt+/ 也无代码提示
1.菜单window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打上勾 ...