1.环境介绍:

  包:mysql-5.6.24.tar.gz

  平台:centos6.5

2.安装cmake编译工具和依赖包:

yum install cmake -y
yum install ncurses ncurses-devel -y yum install openssl openssl-devel -y
yum install bison -y
yum install gcc-c++ -y
yum install gcc -y

3.创建mysql用户:

useradd mysql -s /sbin/nologin

4.安装编译mysql

  a.进入mysql安装目录

  b.cmake编译:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system

  参数说明:

    -DCMAKE_INSTALL_PREFIX:指定mysql主目录

-DMYSQL_DATADIR:指定数据文件存放位置

-DSYSCONFDIR:指定my.cnf路径

-DMYSQL_UNIX_ADDR:指定连接数据库socket文件路径

  -DENABLED_LOCAL_INFILE=1:允许从本地导入数据

  -DEXTRA_CHARSETS=all:安装所有的字符集

   -DDEFAULT_CHARSET=utf8:指定默认字符

  -DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区

  c.gmake

  d.make install

e.如果报错

make[]: *** [libmysqld/examples/mysql_client_test_embedded] 错误
make[]: *** [libmysqld/examples/CMakeFiles/mysql_client_test_embedded.dir/all] 错误

解决:加上如下

-DWITH_EMBEDDED_SERVER=OFF

5.cp相关文件和修改参数:

  a.拷贝

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

  b.修改参数(创建目录:mkdir /var/lib/mysql):

[client]
port =
socket = /tmp/mysqld.sock [mysql]
no-auto-rehash [mysqld]
user = mysql
port =
socket = /tmp/mysqld.sock
basedir = /usr/local/mysql
datadir = /var/lib/mysql
open_files_limit=

character-set-server = utf8 back_log =
max_connections =
max_connect_errors =
table_open_cache =
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 2M
join_buffer_size = 2M
thread_cache_size =
thread_concurrency =
query_cache_size = 64M
query_cache_limit = 4M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 256M
max_heap_table_size = 256M slow-query-log=
slow_query_log_file=/usr/local/mysql/slow-log.log
long_query_time= log-bin
binlog_cache_size = 4M
max_binlog_cache_size = 8M
max_binlog_size = 512M expire_logs_days =
key_buffer_size = 2048M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads =
myisam_recover
skip-name-resolve
lower_case_table_names = [mysqldump]
quick
max_allowed_packet = 32M [mysqld_safe]
log-error=/usr/local/mysql/mysql.err
pid-file=/usr/local/mysql/mysqld.pid

6.修改环境变量:

vim .bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

7.运行mysql_install_db文件:

./mysql_install_db --basedir=/usr/local/mysql --datadir=/var/lib/mysql --no-default --user=mysql

centos7初始化报错:

FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper

解决:

先用list 查找下module:

#yum list|grep -i perl-modul*
perl-Module-Build.noarch :0.40.-.el7 base
perl-Module-CoreList.noarch :2.76.-.el7 base
perl-Module-Implementation.noarch 0.06-.el7 base
perl-Module-Install.noarch 1.06-.el7 base
perl-Module-Load.noarch :0.24-.el7 base
perl-Module-Load-Conditional.noarch 0.54-2.0..el7.centos base
perl-Module-Loaded.noarch :0.08-.el7 base
perl-Module-Manifest.noarch 1.08-.el7 base
perl-Module-Metadata.noarch 1.000018-.el7 base
perl-Module-Pluggable.noarch :4.8-.el7 base
perl-Module-Runtime.noarch 0.013-.el7 base
perl-Module-ScanDeps.noarch 1.10-.el7 base
perl-Module-Signature.noarch 0.73-.el7 base

安装 perl-module:

yum install -y perl-Module-Install.noarch

再次报错:

Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.: cannot open shared object file: No such file or directory

解决方法:安装 libaio

yum install -y libaio libaio-devel

8.启动mysql服务:

service mysql start

9.查看mysql进程:

ps –ef|grep mysql

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

  1. mysql5.6源码安装(转)

    mysql5.6源码安装 转自 jabbok博客园 https://www.cnblogs.com/jabbok/p/9418344.html 1 编译安装 1 2 3 4 5 6 groupadd ...

  2. Mysql5.5源码安装步骤笔记记录

    1.cmake软件的安装wget https://cmake.org/files/v3.5/cmake-3.5.0-rc3.tar.gztar xf cmake-3.5.0.tar.gzcd cmak ...

  3. Linux MySQL5.5源码安装

    环境:CentOS7,MySQL5.5 1.MySQL5.5源码下载 Oracle的网站打开较慢,http://mirrors.sohu.com/mysql/这里提供了MySQL的镜像.一般的,Lin ...

  4. MYSQL5.5源码安装 linux下

    /* 首先安装必要的库 */ yum -y install gcc* ###### 安装 MYSQL ###### 首先安装camke 一.支持YUM,则 yum install -y cmake 二 ...

  5. ubuntu mysql5.7源码安装

    本系列的lnmp的大框架基本上是按照http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan ...

  6. CentOS6.5+mysql5.1源码安装过程

    一:先安装依赖包(不然配置的时候会报错的!) yum -y install ncurses* libtermcap* gcc-c++* 新建mysql用户 [root@HE1Packages]# gr ...

  7. Linux+Apache2.4+PHP5.6+MySQL5.6源码安装步骤

    一.安装Apache 若要安装apache服务器软件,需要安装以下几个依赖软件 apr-1.4.6.tar.gz 下载地址:http://apr.apache.org/ apr-util-1.4.1. ...

  8. MySQL5.7源码安装

    一.获取MySQL5.7.20源码安装包,并上传至服务器   MySQL官网下载地址:https://dev.mysql.com/downloads/mysql/ 下载版本:mysql-boost-5 ...

  9. MySQL5.5.源码安装

    MySQL5.5.34安装需要用到cmke  ncurses-devel yum install -y ncurses-devel cmake gcc gcc-c++ bison 下载http://m ...

随机推荐

  1. node.js处理post请求

    1.html 2.app.js var http = require('http') var qs = require('querystring') /** * 路由控制的功能 * @param pa ...

  2. Criteria查询初学者的采纳点哦

    一.Hibernate提供了5种检索对象的方式 1.导航对象图检索方式:根据已经加载的对象导航到其他对象    from  Emp e group by e.dept.deptName 2.OID检索 ...

  3. HTTP协议(转)

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...

  4. ServletContext与网站计数器

    什么是ServletContext? ServletContext是服务器的一个公用的空间,是不同的浏览器共享的一个数据. 由图可以看出ServletContext和Cookie与session之间的 ...

  5. HTML中网页超链接设计

    一.超链接的概念: 1>用<a>标签实现.href属性设置了要链接的网址. 链接路径URL:Uniform Resource Locator的缩写.统一资源定位符. 4部分组成:协议 ...

  6. 7个你可能不认识的CSS单位

    众所周知CSS技术我们虽然很熟悉,在使用的过程却很容易被困住,这让我们在新问题出现的时候变得很不利.随着web继续不断地发展,对于新技术新解决方案的要求也会不断增长.因此,作为网页设计师和前端开发人员 ...

  7. URL-统一资源定位器

    URL - Uniform Resource Locator URL 可以由单词组成,比如 “w3school.com.cn”,或者是因特网协议(IP)地址:192.168.1.253.大多数人在网上 ...

  8. iOS 判断数组是否为空

    有人说可以用([array count]==0 )来判断是否为空,都是坑,如果array为空的话,执行count就会直接报错,程序崩溃退出. 正确判断NSArray是否为空的方法:用 (!array) ...

  9. swift 2.2 语法 (下)

    前言: 1.此文中的语法会根据Swift的升级变动而更新. 2.如果需要请移步 -> swift2.2 语法(上).swift 2.2语法(中) 类的析构函数 swift会自动释放不需要的实例来 ...

  10. tomcat部署java servlet的3种方式

    1.将编译好的class文件按照与工程中的package的目录结构一致的文件夹底下 2.将你的servlet封装成 .war(web application archive格式的后缀名) 格式的文档直 ...