1.切换到src目录

cd /usr/local/src/

2. 下载mysql免编译二进制包

免编译的mysql二进制包5.6源码包:

wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

(https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz   --最新地址)

(http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz)

tar -zxvf  mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

3. 把 mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz目录下所有文件   移到 /usr/local/mysql 位置

mv mysql-5.6.39-linux-glibc2.12-x86_64/* /usr/local/mysql

4.建立MySql用户,因为启动MySQL需要改用户

useradd -s  /sbin/nologin mysql

cd /usr/local/mysql

5.创建datadir,数据库文件会放到这里面

mkdir -p /data/mysql

6. 更改权限,不更改后续操作就会出问题

chown  -R mysql:mysql  /data/mysql

7. yum install libaio* -y

二进制安装mysql初始化出现:Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while loading shared
原因:缺少libaio库文件
解决方法:yum install libaio* -y

8. yum -y install numactl

bin/mysqld: error while loading shared libraries: libnuma.so.1: 安装mysql
如果安装mysql出现了以上的报错信息.这是却少numactl这个时候如果是Centos就yum -y install numactl就可以解决这个问题了.
ubuntu的就sudo apt-get install numactl就可以解决这个问题了

9.  编译安装

yum install -y perl-Module-Install

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

如果在/data/mysql目录下生成几个文件和目录,说明执行成功;或者在执行完成最后一条命令后,马上执行echo $? 看输出结果是否为0

10. 首先赋值配置文件,如下所示:

cp support-files/my-default.cnf  /etc/my.cnf

cp:是否覆盖"/etc/my.cnf"? y

因为是系统默认就有/etc/my.cnf,所以会提示是否覆盖,直接按"y"即可,

11. 修改配置文件 ,如下所示:

vim /etc/my.cnf

---------------------------------------------------------------------------------------------------------------------------------------------

[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 =

log_bin = /data/mysql/error.log
pid-file=/data/mysql/pid_file.pid

# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
server_id = 128

socket = /tmp/mysql.sock

key_buffer=16K
table_open_cache=4
query_cache_limit=256K
query_cache_size=4M
max_allowed_packet=1M
sort_buffer_size=64K
read_buffer_size=256K
thread_stack=64K
innodb_buffer_pool_size = 56M

# 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
read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

---------------------------------------------------------------------------------------------------------------------

12. 然后复制启动脚本文件并修改其属性

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

13. 修改启动脚本 (这步废除)

vim /etc/init.d/mysqld

需要修改的地方有 datadir=/data/mysql

14. 把启动脚本加入系统服务项,设定开机并启动mysql

a . 把mysqld服务加入到系统服务列表中,

chkconfig --add mysqld

b .使其开机就启动

chkconfig mysqld on

c .启动服务

service mysqld start

看见success,说明mysql已经启动成功了

15. 看看有没有监听3306端口

netstat -lnp|grep 3306

16.进入mysql

/usr/local/mysql/bin/mysql -uroot -p

show databases;

17. Linux下修改Mysql的用户(root)的密码 (第一次进入不需要密码,直接mysql -uroot -p 进来该密码)

通过登录mysql系统,
# mysql -uroot -p
Enter password: 【输入原来的密码】 (下面的passedorD("test")表示数据库密码)
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';

# 远程登录密码 (下面的test表示数据库密码)

mysql>GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'test';

mysql> flush privileges;
mysql> exit;

--------------------------------------------下面是mysql二进制源码包下载地址------------------------------------------------------------------------------------

下载地址: https://dev.mysql.com/downloads/mysql/5.6.html#downloads

--------------------------------------问题一--------------------------------------------------------------

出现如下问题,在/data/mysql 下创建个 VM_0_3_centos.pid     1:  (touch VM_0_3_centos.pid)

2 然后去 apache 下重启apache   之后 /data/mysql/ 下的VM_0_3_centos.pid用户名,用户组,改变了,重启msyql,创建VM_0_3_centos.pid就不会消失,死活创建不了

cd /usr/local/apache/bin/

./apachectl start

源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!的更多相关文章

  1. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

  2. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  3. 总结源码编译安装mysql

    最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...

  4. 源码编译安装 MySQL 5.5.x 实践(转)

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  5. Mysql源码编译安装&主从复制

    一)camke源码编译安装mysql 1)创建软件安装目录software [root@master software]# ls cmake-2.8.8.tar.gz mysql-5.5.32.tar ...

  6. MySQL 源码编译安装

    脚本须知: 1. 该脚本目前只测试过mysql版本为5.6.x的源码,其他源码可以对本脚本稍作修改即可 2. 本脚本也可以使用wget mysql源码的方式进行,但考虑到后期提供源码的地址不可用,所以 ...

  7. CentOS源码编译安装MySQL 5.5.15

    CentOS源码编译安装MySQL 5.5.15   文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...

  8. Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置

    文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...

  9. CentOS 6.6 下源码编译安装MySQL 5.7.5

    版权声明:转自:http://www.linuxidc.com/Linux/2015-08/121667.htm 说明:CentOS 6.6 下源码编译安装MySQL 5.7.5 1. 安装相关工具# ...

  10. Shell脚本一键部署——源码编译安装MySQL及自动补全工具

    Shell脚本一键部署--源码编译安装MySQL及自动补全工具 编译安装MySQL 1.软件包 Mysql安装包 将安装包拖至/opt目录下,编辑一个脚本文件,将以下内容复制进去,然后source或者 ...

随机推荐

  1. Apache ZooKeeper 单机、集群部署文档

    简介: Apache ZooKeeper 是一个分布式应用的高性能协调服务,功能包括:配置维护.统一命名.状态同步.集群管理.仲裁选举等. 下载地址:http://apache.fayea.com/z ...

  2. 迷你MVVM框架 avalonjs 沉思录 第3节 动态模板

    模板的发明是编程史上的一大里程碑,让我们摆脱了烦锁且易出错的字符串拼接,维护性大大提高. 都在JSP,ASP时代,人们已经学会使用include等语句,将多个页面片断拼接成一个页面. 此外,为了将数据 ...

  3. vs2010下使用绘图控件MsChart的方法

    1. 使用setupmschart.exe将MSCHRT20.OCX注册到系统: http://download.csdn.net/detail/xiaowh001/8892147 2. 在vs201 ...

  4. springmvc 数据验证 hibernate-validator --->对象验证

    数据验证步骤: 1.测试环境的搭建: 2.验证器的注册 在springmvc.xml配置文件中加以下代码: 3.验证注解添加到对应实体类上 4.修改处理器 5.将验证失败信息写入到表单 index.j ...

  5. Docker私有仓库registry的搭建及使用

    前言 由于Docker Hub公共仓库很多时候使用这并不是很方便,大分部因为网络的问题可能拉取的时候会很慢或者拉取不到,所以搭建一个本地的私有仓库. 准备 由于此篇文章是在Kubernetes集群安装 ...

  6. Java设计模式(9)——观察者模式

    一.观察者模式定义 Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态. Observer模式提供给关联对象一种同步通信的手段,使某个 ...

  7. BI实施的四个层次

    满足业务需求 注重数据分析汇总 统一.高效的系统集成越来越麻烦.管理人员穿梭在具有不同风格.使用逻辑的系统间,越来越厌倦,众多系统之间的业务逻辑.数据含义不一致,使用户无法判 断数据的准确性.任何一个 ...

  8. Requests接口测试-对cookies的操作处理(一)

    大家都对cookie都不陌生,我们本篇文章使用requests结合cookie进行实例演示.我们使用一个接口项目地址,因为接口项目涉及到隐私问题,所以这里接口的地址我暂时不会给大家开放,但是我会给大家 ...

  9. C++ 类 & 对象-类成员函数-类访问修饰符-C++ 友元函数-构造函数 & 析构函数-C++ 拷贝构造函数

    C++ 类成员函数 成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义. 需要强调一点,在 :: 运算符之前必须使用类名.调用成员函数是在对象上使用点运算符(.),这样它就能操作与 ...

  10. 团体程序设计天梯赛L1-017 到底有多二 2017-03-22 17:31 155人阅读 评论(0) 收藏

    L1-017. 到底有多二 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一个整数"犯二的程度"定义为该数 ...