1.1.系统环境检查

1)检查系统版本

mkdir -p /server/tools/
cd /server/tools/
cat /etc/redhat-release

2)配置域名解析

vim /etc/hosts
-------------------------------
127.0.0.1 mysql-server
-------------------------------

3)安装cmake编译工具和依赖包

yum install cmake ncurses-devel -y

1.2.源码安装mysql

1)创建mysql运行用户和组

groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql

2)配置编译安装

# 源码配置,下载或者上传该版本的mysql安装包

#wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
tar -zxf mysql-5.6..tar.gz
cd /server/tools/mysql-5.6./
---------------------------------------
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT= \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_FEDERATED_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE= \
-DWITH_FAST_MUTEXES= \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE= \
-DWITH_READLINE= \
-DWITH_EMBEDDED_SERVER= \
-DWITH_DEBUG=
----------------------------------------

# 编译安装(时间比较长)

make && make install

3)修改mysql配置文件

# 创建mysql相关目录并修改权限属主

mkdir -p /usr/local/mysql/{data,logs}
chown -R mysql.mysql /usr/local/mysql
ll /usr/local/
ll /usr/local/mysql/

# 调整/tmp目录的权限,防止初始化错误

chmod -R  /tmp
ll /tmp -d

# 修改优化my.cnf配置文件

mv /etc/my.cnf /etc/my.cnf.old
cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf
-------------------------
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/logs/mysqld.pid
log-error = /usr/local/mysql/logs/error.log
socket = /tmp/mysql.sock
bind-address = 0.0.0.0
max_connections =
thread_cache_size =
lower_case_table_names =
explicit_defaults_for_timestamp = true log_bin = /usr/local/mysql/data/mysql-bin
expire_logs_days =
binlog_format = row
binlog_row_image = full
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [client]
port =
socket = /tmp/mysql.sock
--------------------------

其他可选配置:

default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8 # 配置数据库默认字符集
max_binlog_size = 1G
binlog_format = row # 配置binlog格式,用于数据恢复,可能会降低性能
binlog_row_image = full #

4)初始化数据库

# 配置环境变量

echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
tail - /etc/profile
source /etc/profile
echo $PATH

# 创建数据表,看到两个OK信息表示mysql初始化成功

cd /usr/local/mysql/scripts/
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql

5)启动mysql数据库

# 配置启动脚本文件

cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
netstat -anptl |grep

# 配置开机启动mysql

chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld

1.3.清理默认安装的测试库和用户

# 新安装的mysql数据库默认会有一些多余的用户和数据库,如果在初始化的时候没有选择清理,可以在数据库初始化完成后手动清理下,增强mysql的安全性

# 也可以根据数据库初始化后的提示使用脚本初始化数据库用户密码和删除测试库

1)查询mysql初始用户

mysql
select user,host from mysql.user;

2)删除空用户名和空密码用户的登陆方式

delete from mysql.user where user=" ";
delete from mysql.user where password='';

3)删除主机名登陆的用户方法

# delete from mysql.user where host="主机名";
delete from mysql.user where host='::1';

4)删除测试test库

show databases ;
drop database test;

# 最终结果如下

-------------------------------
mysql> show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
rows in set (0.00 sec) mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
rows in set (0.00 sec)
--------------------------------

==== 完毕,呵呵呵呵 ====

CentOS6下源码安装mysql-5.6.25的更多相关文章

  1. centos 6x系统下源码安装mysql操作记录

    在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...

  2. CentOS 7下源码安装MySQL 5.7

    网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...

  3. lnux下源码安装MySQL 5.6

    nux下源码安装MySQL 5.6 说明:本文是我自己测试的MySQL5.6源码安装,经本人亲自实践,完全可用,另在5.6之前的版本也是可以按照本文源码安装的.我是在两台linux下一台安装5.5,另 ...

  4. Linux平台下源码安装mysql多实例数据库

    Linux平台下源码安装mysql多实例数据库[root@linux-node1 ~]# netstat -tlunp | grep 330tcp6 0 0 :::3306 :::* LISTEN 6 ...

  5. CentOS 7下源码安装MySQL 5.6

    本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...

  6. CentOS 6.5下源码安装MySQL 5.6

    变量lower_case_file_system说明是否数据目录所在的文件系统对文件名的大小写敏感.ON说明对文件名的大小写不敏感,OFF表示敏感. 在my.cnf中[mysqld]更改lower_c ...

  7. CentOS下源码安装MySQL

    一.创建mysql用户与组,相关目录 useradd mysql -s /sbin/nologin mkdir /usr/local/mysql chown -R mysql.mysql mkdir ...

  8. centos6.5 源码安装 mysql

    1.下载源码包 我的版本:mysql-5.6.4-m7.tar.gz 2.安装之前先卸载CentOS自带的MySQL [root@localhost ~]# yum remove mysql 3.编译 ...

  9. CentOS6.5下源码安装多个MySQL实例及复制搭建

    多实例安装本节是在CentOS6.5下源码安装MySQL5.6.35的基础上,在同一台机器增加一个MySQL实例.参考Centos中安装多个mysql数据的配置实例,安装目录为/usr/local/m ...

随机推荐

  1. cookie、session、sessionid ,jsessionid 的区别

    本文是转载虫师博客的文章http://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html cookie.session.sessionid 与js ...

  2. BCB中换行 需要 \r\n

    例如: fprintf(fp,"\n");无换行效果 fprintf(fp,"\r\n");有换行效果

  3. 限制可编辑div只能输入纯文本

    本博客转载自张鑫旭大神的一篇文章:小tip: 如何让contenteditable元素只能输入纯文本,原文地址:http://www.zhangxinxu.com/wordpress/2016/01/ ...

  4. 26种基于PHP的开源博客系统

    26种基于PHP的开源博客系统 来源:本站原创 PHP学习笔记 以下列举的PHP开源Blog系统中,除了我们熟知的WordPress之外,大多都没有使用过,其中一些已经被淘汰,或者有人还在使用.除了做 ...

  5. rails常用gem

    一,开发模式下 1,better_errors 使用全新的页面替换 Rails 默认的错误页面,显示更多的上下文信息,例如源码 和变量的值:配合binding_of_caller可以执行代码查看变量的 ...

  6. 在Mybatis中使用连表查询的一次实际应用

    以前在工作中很少使用多表关联查询,对连表查询的具体作用和使用场景也没有很直观的认识,通过这次在项目中的实际应用,对此有了一定的认识,特记录如下. 关联表介绍: 分别是属性表attr_info.属性值表 ...

  7. 结巴分词中TFIDF的原理

    之前了解TFIDF只是基于公式,今天被阿里面试官问住了,所以深入讨论下TFIDF在结巴分词中原理. 概念 TF-IDF(term frequency–inverse document frequenc ...

  8. Uva11374 Dijkstra

    机场快线是市民从市内去机场的首选交通工具.机场快线分为经济线和商业线两种,线路.速度和价格都不同,你有一张商业线车票,可以坐一站商业线,而其他时候,只能乘坐经济线.假设换乘时间忽略不计,你的任务是找一 ...

  9. hdu5012 圆环相交面积

    题中给了 两个同心圆, 一个大圆一个小圆,然后再给了一个大圆一个小圆也是同心圆,求这两个圆环相交的面积,用两个大圆面积减去两倍大小圆面积交加上两个小圆面积交,就ok了 这里算是坑明白了 使用acos的 ...

  10. 线程、进程、daemon、GIL锁、线程锁、递归锁、信号量、计时器、事件、队列、多进程

    # 本文代码基于Python3 什么是进程? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行 ...