这里介绍如何使用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. b/s和c/s

    一.B/S结构 B是英文单词“Browser”的首字母,即浏览器的意思:S是英文单词“Server”的首字母,即服务器的意思.B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式 ...

  2. iOS用contenteditable滚动时,光标不会刷新定位的处理方法

    分析 iOS的 wkwebview 在滚动时会暂停许多动画,作为优化 解决思路 监听滚动事件,利用文档重绘即可刷新动画 ps:因为滚动有惯性,touchmove事件只能监听到手指松开的那一刻,所以只能 ...

  3. zookeeper+activemq高可用集群搭建

    一.准备工作: 准备三台机器:192.168.35.111192.168.35.112192.168.35.113 二.搭建zookeeper 三台机器上均要搭建zookeeper服务// 下载zoo ...

  4. Linux学习篇之OpenKM的安装(汉化)

    OpenKM是一个开放源代码的电子文档管理系统,它的特点是可用于大型公司或是中小企业, 适应性比较强. 并且在知识管理方面的加工,提供了更加灵活和成本较低的替代应用,下面讲一下搭建方法. 一.以下都是 ...

  5. 五,pod控制器应用进阶

    目录 Pod 资源 标签 给资源打标签 标签选择器 Pod 生命周期 pod状态探测 livenessProbe 状态探测 livenessProbe exec 测试 livenessProbe ht ...

  6. zk和eureka的区别(CAP原则)

    作为服务注册中心,Eureka比Zookeeper好在哪里 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性).由于分区容错性在是分布式系统中必须要保证的, ...

  7. Python enumerate 使用技巧

    enumerate() 是Python内建的函数,能让打印的结果更清晰,不管是列表,元组,字典,enumerate()都可以帮你完成,在某些需求下还是非常好用的. >>> a = [ ...

  8. 标准C语言(8)

    指针变量用来记录地址数据,指针变量的用途就是找到另外一个变量,没有记录有效地址的指针不能用来找到其它变量,声明指针变量时必须在变量名称前写*.如果一个指针变量记录了另外一个变量的地址就可以认为它们之间 ...

  9. Linux perf命令详解及常用参数解析

    perf 相关命令:暂无相关命令 perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找. Perf List利用perf剖析程序性能时,需要指定当前测试的性能时间.性能事件是指在 ...

  10. 【鸽】poj3311 Hie with the Pie[状压DP+Floyd]

    题解网上一搜一大坨的,不用复述了吧. 只是觉得网上dp方程没多大问题,但是状态的表示含义模糊.不同于正常哈密顿路径求解,状态表示应当改一下. 首先定义一次移动为从一个点经过若干个点到达另一个点,则$f ...