安装版本:mysql-5.6.31

安装环境:Linux RHEL6.5.x86

安装要求:单实例,端口为默认:3306
              (1) 要求安装Mysql数据库版本号及包名为:mysql-5.6.31.tar.gz
              (2) 安装目录为/usr/local/mysql
              (3) 数据存储目录为/data/mysqldb/
              (4) 配置文件存放为/etc/my.cnf
              (5) 用户名为mysql
              (6) 要求设置环境变量,服务加入开机自动启动


环境准备

1. 安装相关依赖包

# yum install gcc* ncurses-devel perl cmake bison

2. 创建用户和相关目录

创建mysql用户组
# groupadd mysql 创建mysql用户(属组为mysql,为不能登录shell)
# useradd mysql -g mysql -s /sbin/nologin 创建mysql安装目录
# mkdir -p /usr/local/mysql

创建mysql数据目录
# mkdir -p /data/mysqldb 在数据目录下创建BINLOG日志目录
# mkdir /data/mysqldb/binlog 在数据目录下创建日常LOG日志目录
# mkdir /data/mysqldb/log 创建mysql临时表目录
# mkdir /opt/mysqltmp

3. 对相关目录进行授权

# chown  mysql:mysql  /usr/local/mysql  -R
# chown mysql:mysql /data -R
# chown mysql:mysql /opt/mysqltmp -R

4. 编译安装

# cmake 
设置mysql安装目录
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/
设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
设置配置文件放在/etc/下面
-DSYSCONFDIR=/etc
设置服务器的字符集(缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表)                     
-DDEFAULT_CHARSET=gbk  
设置服务器的排序规则                  
-DDEFAULT_COLLATION=gbk_chinese_ci  
设置mysql数据库文件目录
-DMYSQL_DATADIR=/data/mysqldb/
设置mysql服务器监听端口,默认为3306
-DMYSQL_TCP_PORT=3306                    
以下存储引擎选项:
    其中yISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
    静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1
    可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), PERFSCHEMA (Performance Schema)
-DWITH_INNOBASE_STORAGE_ENGINE=1        
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
# make ; make install

注:如果要重新运行配置,需要删除解压包中的CMakeCache.txt文件

# ls mysql-5.6.31 |grep CMakeCache.txt
CMakeCache.txt

初始化与配置

1. 初始化

开始初始化
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysqldb/ 看到此时数据目录下产生了什么
# ls /data/mysqldb/
binlog ibdata1 ib_logfile0 ib_logfile1 log mysql performance_schema test 复制mysql服务启动脚本并修改权限
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
修改mysql服务启动脚本(单实例安装其实可以不做这一步)
# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysqldb

2.  配置文件

默认在/etc下生成了my.cnf
# ls /etc/ | grep my.cnf
my.cnf 如果没有也可以拷贝挤压包或安装目录中的默认配置文件
mysql-5.6.31/support-files/my-default.cnf
/usr/local/mysql/support-files/my-default.cnf

 ###配置文件解析###

# vim /etc/my.cnf
[client]
port = 3306     //客户端所连接的端口号
socket = /tmp/mysql.sock //客户端所连接的sock文件存放位置 [mysqld]
#base
port = 3306          //mysql的默认端口号,可以修改
user = mysql          //mysql用户指定
socket = /tmp/mysql.sock    //连接所使用的端口号
pid-file = /tmp/mysql.pid   //进程运行的主PID文件
basedir = /usr/local/mysql  //Mysql安装目录
datadir = /data/mysqldb     //Mysql数据目录
tmpdir = /opt/mysqltmp      //Mysql临时表目录
open_files_limit = 10240     //打开文件句柄的数量
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
federated                  //支持sql语法和数据校验等.sql_mode三种模式
ANSI模式:宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或者截断保存,报“warning”警告
TRADITIONAL模式:严格模式,当向mysql数据插入数据时、进行数据的严格校验,保证数据不能插入,报error错误,用于事物时,会进行事物回滚.
STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,错误数据不能插入,报error错误. server_id =                //主从复制唯一的服务辨识号,数值位于 1 到
#replicate-do-db = posp       //定义唯一复制的库
#replicate-ignore-db = mysql  //定义唯一复制的库
#log-slave-updates =        //这个选项之再主从复制。从服务器上打开复制主的信息
event_scheduler=           //打开时间调度器 max_connections =      //最大并发连接数 ,增大该值需要相应增加允许打开的文件描述符数
max_connect_errors = 10000 //如果某个用户发起的连接error超过该数值,则该用户的下次连接将被阻塞
interactive_timeout = 600  //服务器关闭交互连接前等待活动的秒数
wait_timeout = 600          //服务器关闭非交互连接之前等待活动的秒数
skip-name-resolve           //garnt时,必须使用ip,不能使用主机名,禁用DNS解析
sync_binlog = 0             //可以保证事务的安全。缺省为0
log_bin_trust_function_creators = //打开mysql可自定义函数 character-set-server = utf8     //设定字符集
default_storage_engine = InnoDB  //定义默认引擎 #log
log-bin = /data/mysqldb/binlog/mysql-bin //指定binlog二进制日志的文件名称
binlog_cache_size = 32m //binlog的缓存大小
max_binlog_cache_size = 10g //设定最大的binlog缓存
binlog_stmt_cache_size = 32m //设定最小的binlo缓存
table_open_cache = 2048 //表描述符缓存大小,可减少文件打开/关闭次数
max_binlog_size = 1024m //设置binlog日志文件最大为1G
binlog_format = mixed //binlog日志格式.
log_output = FILE //确认输出到日志文件
log-error = /data/mysqldb/log/mysql-error.log //mysql系统错误日志输出
slow_query_log = //打开慢日志记录
slow_query_log_file = /data/mysqldb/log/mysql-slow_query.log //定义慢日志输出的路径
general_log = //定义普通日志
general_log_file = /data/mysqldb/log/mysql-general-query.log //定义普通日志输出的路径
expire-logs-days = //日志保留的时间为30天
relay-log = /data/mysqldb/binlog/relay-bin //定义reloa_log复制的地址
relay-log-index= /data/mysqldb/binlog/relay-bin.index //定义reloa_log索引 #buffer
sort_buffer_size = 2m     //MyISAM表发生变化时重新排序所需的缓冲。一般64M足矣
read_buffer_size = 2m      //用来做MyISAM表全表扫描的缓冲大小.
read_rnd_buffer_size = 2m  //当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道
join_buffer_size = 2m      //InnoDB用来缓存数据和 net_buffer_length = 16k         //执行mysqldump时,net buffer length的最大上限是16Mb,默认值是1Mb
max_allowed_packet = 512m      //每个连接独立的大小.大小动态增加
bulk_insert_buffer_size = 32m   //当突发插入被检测到时此缓冲将被分配用于myisam
max_heap_table_size = 512m      //内存表的大小
tmp_table_size = 512m           //内部(内存中)临时表的最大大小
thread_cache_size =         //缓存可重用的线程数,可以适当的调整
query_cache_size = 256m         //指定MySQL查询结果缓冲区的大小。调优可以适当调整
query_cache_limit = 10m        //缓存单条SQL的结果集上限。默认4KB。调优可以适当调整
query_cache_min_res_unit = 4k
key_buffer_size = 16m             //关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块
myisam_sort_buffer_size = 64m     //这在每个线程中被分配.所以在设置大值时需要小心
myisam_max_sort_file_size = 10g  
//MySQL重建索引时所允许的最大临时文件的大小如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)
myisam_repair_threads =        //如果一个表拥有超过一个索引, MyISAM #innodb
innodb_file_per_table =       //可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
innodb_data_file_path = ibdata1:2048M:autoextend //如果你只有单个逻辑驱动保存你的数据,一个单个的自增文件就足够好了
innodb_log_file_size = 128m     //在日志组中每个日志文件的大小,
innodb_log_files_in_group =   //在日志组中的文件总数. 通常来说2~3是比较好的
innodb_buffer_pool_size = 1g    //innodb缓存池大小
innodb_buffer_pool_instances = -
innodb_max_dirty_pages_pct = //在InnoDB缓冲池中最大允许的脏页面的比例. 60-90都可以
#innodb_thread_concurrency =
innodb_flush_method = O_DIRECT
innodb_log_buffer_size = 16m  //用来缓冲日志数据的缓冲区大小,当此值快满时,InnoDB必须刷新数据到磁盘上
innodb_flush_log_at_trx_commit =
//0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘,2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上 [mysql]
no-auto-rehash                //可以在命令使用tab键补齐
prompt = (\u@\h) [\d]\_       //在mysql命令显示主机名字
default-character-set = utf8 //设定字符集合
[client]
port =
socket = /tmp/mysql.sock [mysqld]
#base
port =
user = mysql
socket = /tmp/mysql.sock
pid-file = /tmp/mysql.pid
basedir = /usr/local/mysql
datadir = /data/mysqldb
tmpdir = /opt/mysqltmp
open_files_limit =
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
federated server_id =
#replicate-do-db = posp
#replicate-ignore-db = mysql
#log-slave-updates =
event_scheduler= max_connections =
max_connect_errors =
interactive_timeout =
wait_timeout =
skip-name-resolve
sync_binlog =
log_bin_trust_function_creators = character-set-server = utf8
default_storage_engine = InnoDB #log
log-bin = /data/mysqldb/binlog/mysql-bin
binlog_cache_size = 32m
max_binlog_cache_size = 10g
binlog_stmt_cache_size = 32m
table_open_cache =
max_binlog_size = 1024m
binlog_format = mixed
log_output = FILE
log-error = /data/mysqldb/log/mysql-error.log
slow_query_log =
slow_query_log_file = /data/mysqldb/log/mysql-slow_query.log
general_log =
general_log_file = /data/mysqldb/log/mysql-general-query.log
expire-logs-days =
relay-log = /data/mysqldb/binlog/relay-bin
relay-log-index= /data/mysqldb/binlog/relay-bin.index #buffer
sort_buffer_size = 2m
read_buffer_size = 2m
read_rnd_buffer_size = 2m
join_buffer_size = 2m net_buffer_length = 16k
max_allowed_packet = 512m
bulk_insert_buffer_size = 32m
max_heap_table_size = 512m
tmp_table_size = 512m
thread_cache_size =
query_cache_size = 256m
query_cache_limit = 10m
query_cache_min_res_unit = 4k
key_buffer_size = 16m
myisam_sort_buffer_size = 64m
myisam_max_sort_file_size = 10g
myisam_repair_threads = #innodb
innodb_file_per_table =
innodb_data_file_path = ibdata1:2048M:autoextend
innodb_log_file_size = 128m
innodb_log_files_in_group =
innodb_buffer_pool_size = 1g
innodb_buffer_pool_instances = -
innodb_max_dirty_pages_pct =
#innodb_thread_concurrency =
innodb_flush_method = O_DIRECT
innodb_log_buffer_size = 16m
innodb_flush_log_at_trx_commit = [mysql]
no-auto-rehash
prompt = (\u@\h) [\d]\_
default-character-set = utf8

无解析版my.conf


服务启动与环境变量设置

1. 设置环境变量

# vim /etc/profile
MYSQL=/usr/local/mysql/bin
PATH=$PATH:$MYSQL
export PATH # source /etc/profile

2. 启动服务

# /etc/init.d/mysqld start

启动的报错与解决见博文:《mysql安装启动报错》

mysql-5.6.31安装(单实例 Linux)的更多相关文章

  1. AIX安装单实例11gR2 GRID+DB

    AIX安装单实例11gR2 GRID+DB   一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以 ...

  2. 【MySQL】源码编译安装和配置MySql 5.5.32(单实例)

    [需求描述] 在CentOS环境中,通过编译源码的方式,安装并且配置“单实例”的MySQL5.5.32数据库. MySQL的安装目录为:/application/mysql-5.5.32 MySQL数 ...

  3. mysql 5.7.13 安装配置方法(linux)-后期部分运维

    mysql 5.7.13 安装配置方法图文教程(linux) 学习了:https://www.cnblogs.com/zhao1949/p/5947938.html /usr/local/mysql是 ...

  4. MySQL第01课- CentOS + 单实例MySql编译安装总结

    2016年2月,从oracle转向MySql ,碰上几个坑,特此记录 总结 1.注意环境变量.配置文件,操作过程不能出错 2.相比rpm方式安装,编译安装方式可以指定安装路径,再说安装是简单活,将来安 ...

  5. mysql 5.7.15 vs mysql 5.6.31性能测试以及不同linux内核性能比较

    最近,将部分开发和测试环境的mysql升级到5.7之后,今天抽时间测试了下5.6和5.7 PK查询的性能,使用mysqlslap进行测试,测试结果发现在低配下,percona 5.6.31大约比5.7 ...

  6. oracle11G r2 静默安装单实例(待优化版)

    测试环境:centos 6.9 X64 mini 版 oracle版本:11G r2 Oracle软件包:db_112040_Linux-x86-64_1of7.zip;db_112040_Linux ...

  7. centos6.5下编译安装单实例MySQL5.1

    MySQL5.1版本安装3步曲: 1) ./config 指定编译安装参数 2) make 3) make install 查看系统版本号 [root@meinv01 ~]# cat /etc/red ...

  8. centos6.5下编译安装单实例MySQL5.5

    MySQL5.5版本安装3步曲: 1) cmake 2) make 3) make install 查看系统版本号 [root@meinv01 ~]# cat /etc/redhat-release ...

  9. 自动化运维(2)之一键式单实例安装MySQL

    ZMySQLAutoTools文档 目标:自动化构建部署MySQL数据库,一键式单实例mysql安装,备份,监控,主从集群部署等.以及jdk,tomcat,nginx等基础中间件的自动化部署安装及运维 ...

随机推荐

  1. Replication--如何使用快照来初始化化请求订阅

    这是一篇针对新人的知识普及文章,老人慎入! 在快照发布和事务发布中,SQL Server需要使用快照来将数据库某一时间点的数据传递给订阅,快照使用BCP的机制. 首先我们需要查看和设置快照的生成目录, ...

  2. spark-streming 中调用spark-sql时过程遇到的问题

    在spark-streming 中调用spark-sql时过程遇到的问题 使用版本:spark-2.1.0 JDK1.8 1. spark-sql中对limit 的查询结果使用sum() 聚合操作不生 ...

  3. 一起学习《C#高级编程》3--运算符重载

    运算符的重载.C++的开发人员应该很熟悉这个概念,但这对Java 和 VB 开发人员确实全新的. 对于一些数值间的运算,如果通过方法来指定运算规则的话,不免会繁琐,这时就可以利用运算符的重载. 例: ...

  4. Cesium Language (CZML) 入门2 — CZML Content(CZML的内容)

    原文:https://github.com/AnalyticalGraphicsInc/cesium/wiki/CZML-Content 以下是描述CZML文档或者流中可能存在的内容.要解释CZML文 ...

  5. CSS链接的样式a:link,a:visited,a:hover,a:active

    a :link(未被访问)a:hover(鼠标悬停)a:visited(访问过:真正到达那个页面)a:active(鼠标点击与释放之间.对无href属性的a对象无作用) 这几个元素,定义CSS时候的顺 ...

  6. DS博客作业01-日期抽象数据类型的设计与实现

    1.思维导图和学习体会 1.1绪论知识思维导图 1.2学习体会 通过这几节课数据结构的新学习,让我感到了难度,很多概念性的东西,不是很好理解,老师在讲内容的时候,很容易跟不上节奏,我发现这门课的学习一 ...

  7. Codeforces Beta Round #75 (Div. 1 Only) B. Queue 二分

    B. Queue Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 codeforces.com/problemset/problem/91/B Descrip ...

  8. RabbitMq初探——消息均发

    消息均发 前言 由前文 RabbitMq初探——消息分发 可知,rabbitmq自带分发机制——消息会按顺序的投放到该队列下的多个消费者,例如1,3,5投放消费者C1,2,4,6投放消费者C2. 这就 ...

  9. django系列5.5--分组查询,聚合查询,F查询,Q查询,脚本中调用django环境

    一.聚合查询 aggregate(*args, **args) 先引入需要的包,再使用聚合查询 #计算所有图书的平均价格 from django.db.models import Avg Book.o ...

  10. spring包下载方法

    http://blog.csdn.net/liangtiaoxian/article/details/52780747 https://jingyan.baidu.com/article/2fb0ba ...