这里介绍如何使用centos6.*来安装mysql5.6版本。

先做一下准备工作

确定好用于运行mysql的用户,安全起见,建议拒绝次用户登录,仅用于运行程序。

useradd  mysql -s/sbin/nologin

如果电脑的物理内存不是很多(1G以下),可以开启虚拟内存来缓解物理内存压力,避免应为内存的问题安装失败,或许也可以轻微的提升速度。

mkdir  /myswap   #创建一个swap文件
dd if=/dev/zero of=/myswap bs=1k count=2048000 #给swap文件提供2G的空间
mkswap /myswap
swap on  #启用,启用后可以用free -m看一下是否正常应用了。

安装前确保先安装了CMAKE等这些编译需要用到的工具

 yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio

mysql: wget  https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.35.tar.gz

使用tar 命令将mysql的tar包解压到一个特定的位置

 tar xf mysql-5.6.35.tar.gz  -C /usr/src/

然后进入解压后的mysql源码包中

接下来使用cmake来编译安装mysql

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DWITH_DEBUG=0

等待一小会,执行完毕后确定没有问题的话在执行下一步操作来编译和安装

make&&make install

接下来是一个漫长的等待过程

等待进度到100%后可以在/usr/local/中看到mysql目录的信息。

开头说过,需要使用一个特定的用户来启动mysql,所以需要提前把目录的所属主和组都改一下,避免操作下一步的时候出现权限不足等问题。

[root@A 17:54:19]/usr/src/mysql-5.6.35]#chown  mysql.mysql /usr/local/mysql -R

下一步,初始化mysql。

进入/usr/local/mysql目录下,在scripts目录下存初始化的执行文件,操作初始化,在mysql5.7版本后就不是使用这个文件初始化了,直接使用mysqld初始化。

[root@A 17:56:56]/usr/local/mysql]#./scripts/mysql_install_db  --user=mysql  --datadir=/usr/local/mysql/data  --basedir=/usr/local/mysql

正常的话这几步操作很流利,不会出现报错,下一步,将mysql的启动程序移动到/etc/init.d/下方便启动,默认官方提供的启动脚本在安装目录下的support-files/ mysql.server  。

[root@A 18:01:41]/usr/local/mysql]#cp  support files/mysql.server   /etc/init.d/mysqld

mysql启动时会检查my.cnf也就是mysql的主配置文件,需要在CMAKE编译时指定,对应参数是:-DSYSCONFDIR=/etc   这就告诉mysql在/etc/下找my.cnf文件来读取配置,我习惯了直接在安装目录下配置,这也是mysql默认的机制,如果不配置的话,默认在安装目录下。

[root@A 18:06:16]/usr/local/mysql]#ls
bin  COPYING  data  docs  include  lib  logs  man  my.cnf  my-new.cnf  mysql.pid  mysql-test  README  scripts  share  sql-bench  support-files

my.cnf文件中定义mysql的缓存参数,数据目录等等信息,我的配置如下。

  #mysqld定义的是服务端,也就是说,以后针对本机mysql的配置要写在这个标签下面

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin # These are commonly set, remove the # and set as required.
 log-error = /usr/local/mysql/logs/error.log
 pid-file = /usr/local/mysql/mysql.pid
 basedir = /usr/local/mysql
 datadir = /usr/local/mysql/data
 port = 3306
 server_id = 1
 socket = /tmp/mysqld.sock
 user= mysql
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M

检查后正常后,就可以启动测试了。

service  mysqld start

启动后,看3306端口有没有监听,监听后就可以连接,没有监听就去/usr/local/mysql/logs/error.log中看错误。

[root@A 18:14:14]~]#netstat -antp |grep LISTEN
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      20011/mysqld       
tcp        0      0 0.0.0.0:2222                0.0.0.0:*                   LISTEN      10250/sshd         
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      20483/httpd        
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1655/master

启动后就可以连接了,默认没有密码。

直接使用root用户就可以连接进入。

mysql -uroot   -hlocalhost

连接后要及时更改root的密码。

mysql> USE mysql; mysql> UPDATE user SET Password = password (‘新密码’) WHERE User = ‘root’ ; mysql> flush privileges ; mysql> quit

退出后即可验证,至此,mysql安装完毕。

Centos6 源码安装mysql5.6的更多相关文章

  1. CentOS6.7源码安装MySQL5.6

    1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...

  2. CentOS6.5源码安装MySQL5.6.35

    CentOS6.5源码安装MySQL5.6.35 一.卸载旧版本 1.使用下面的命令检查是否安装有mysql [root@localhost tools]# rpm -qa|grep -i mysql ...

  3. CentOS6源码安装vim8

    CentOS6源码安装vim8 vim8相比vim7多了很多功能. 不过需要源码来进行安装. 移除旧版本的vim yum remove vim 安装依赖库 sudo yum install -y ru ...

  4. lnmp之阿里云源码安装mysql5.7.17

    mysql5.7.17一直号称世界上最好的mysql 那么就在阿里云主机linux安装它(采用的源码安装mysql5.7.17) 我在阿里云主机上安装它 连接阿里云主机 进入,跟我们自己装的虚拟机一毛 ...

  5. CentOS7 实战源码安装mysql5.7.17数据库服务器

    CentOS7 实战源码安装mysql5.7.17数据库服务器 简介:实战演练mysql数据库服务器的搭建  mysql简介: mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的 ...

  6. CentOS6下源码安装mysql-5.6.25

    1.1.系统环境检查 1)检查系统版本 mkdir -p /server/tools/ cd /server/tools/ cat /etc/redhat-release 2)配置域名解析 vim / ...

  7. CentOS6.5下源码安装MySQL5.6.35

    接上一篇文章使用RPM包安装MySQL,确实很方便.但是安装后却不知道各文件保存在哪个文件夹下!尝试使用源码安装~本文主要参考:CentOS 6.4下编译安装MySQL 5.6.14一.卸载旧版本 . ...

  8. 搭建LNAMP环境(一)- 源码安装MySQL5.6

    1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...

  9. CentOS7下源码安装mysql5.6

    目录 准备工作 运行环境 确认你的安装版本 下载mysql 安装mysql 准备安装环境 编译和安装 配置mysql 单实例配置      单实例配置方法          添加防火墙         ...

随机推荐

  1. NODE代理,yang

    const express = require('express'); const proxy = require('http-proxy-middleware');//引入代理中间件 const a ...

  2. git用ssh方式下载和提交代码

    之前git上传下载代码都是用的http方式,但是今天遇到个大文件上传的时候,http方式上传超出大小限制了413 request entity too large,所以改成了用ssh方式上传,简单记录 ...

  3. c++ 实时通信系统(c++socket篇)

    在上一篇简单的介绍了TCP/IP协议,在这一篇我们主要介绍socket的具体实现的函数 第一步首先我们套添加上头文件:(#pragma comment(lib, "WS2_32") ...

  4. 架构师成长之路5.1-Saltstack安装及入门

    点击架构师成长之路 架构师成长之路5.1-Saltstack安装及入门 (安装.配置.启动) 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需 ...

  5. War of the Corporations CodeForces - 625B (greed)

    A long time ago, in a galaxy far far away two giant IT-corporations Pineapple and Gogol continue the ...

  6. java 集合数组排序

    //数组排序Integer arr[] = {3,4,2};Arrays.sort(arr);//默认升序Arrays.sort(arr,Comparator.reverseOrder());//传一 ...

  7. Java介绍、环境的搭建及结构化程序

    一.Java 简介及环境配置: JDK和JRE的区别:JRE(Java Runtime Environment)Java运行时环境有些程序运行需要Java环境,因此JRE只是给客户端使用的. JDK( ...

  8. noi.ac NA537 【Graph】

    本来以为过了...然后FST了... 吐槽:nmdGraph为什么不连通... 这题想法其实非常\(na\ddot{\imath}ve\),就是对于一个连通块先钦点一个点为根,颜色是\(1\),考虑到 ...

  9. CH5104 I-country[线性DP+分类讨论]

    http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%B ...

  10. 关于深度学习之TensorFlow简单实例

    1.对TensorFlow的基本操作 import tensorflow as tf import os os.environ[" a=tf.constant(2) b=tf.constan ...