1.1.系统环境检查

1)检查系统版本

  1. mkdir -p /server/tools/
  2. cd /server/tools/
  3. cat /etc/redhat-release

2)配置域名解析

  1. vim /etc/hosts
  2. -------------------------------
  3. 127.0.0.1 mysql-server
  4. -------------------------------

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

  1. yum install cmake ncurses-devel -y

1.2.源码安装mysql

1)创建mysql运行用户和组

  1. groupadd mysql
  2. useradd mysql -s /sbin/nologin -M -g mysql

2)配置编译安装

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

  1. #wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
  2. tar -zxf mysql-5.6..tar.gz
  3. cd /server/tools/mysql-5.6./
  4. ---------------------------------------
  5. cmake \
  6. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  7. -DMYSQL_DATADIR=/usr/local/mysql/data \
  8. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
  9. -DMYSQL_TCP_PORT= \
  10. -DDEFAULT_CHARSET=utf8 \
  11. -DDEFAULT_COLLATION=utf8_general_ci \
  12. -DEXTRA_CHARSETS=all \
  13. -DWITH_INNOBASE_STORAGE_ENGINE= \
  14. -DWITH_FEDERATED_STORAGE_ENGINE= \
  15. -DWITH_BLACKHOLE_STORAGE_ENGINE= \
  16. -DWITHOUT_EXAMPLE_STORAGE_ENGINE= \
  17. -DWITH_FAST_MUTEXES= \
  18. -DWITH_ZLIB=bundled \
  19. -DENABLED_LOCAL_INFILE= \
  20. -DWITH_READLINE= \
  21. -DWITH_EMBEDDED_SERVER= \
  22. -DWITH_DEBUG=
  23. ----------------------------------------

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

  1. make && make install

3)修改mysql配置文件

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

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

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

  1. chmod -R /tmp
  2. ll /tmp -d

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

  1. mv /etc/my.cnf /etc/my.cnf.old
  2. cp support-files/my-default.cnf /etc/my.cnf
  3. vim /etc/my.cnf
  4. -------------------------
  5. [mysqld]
  6. basedir = /usr/local/mysql
  7. datadir = /usr/local/mysql/data
  8. pid-file = /usr/local/mysql/logs/mysqld.pid
  9. log-error = /usr/local/mysql/logs/error.log
  10. socket = /tmp/mysql.sock
  11. bind-address = 0.0.0.0
  12. max_connections =
  13. thread_cache_size =
  14. lower_case_table_names =
  15. explicit_defaults_for_timestamp = true
  16.  
  17. log_bin = /usr/local/mysql/data/mysql-bin
  18. expire_logs_days =
  19. binlog_format = row
  20. binlog_row_image = full
  21. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  22.  
  23. [client]
  24. port =
  25. socket = /tmp/mysql.sock
  26. --------------------------

其他可选配置:

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

4)初始化数据库

# 配置环境变量

  1. echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
  2. tail - /etc/profile
  3. source /etc/profile
  4. echo $PATH

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

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

5)启动mysql数据库

# 配置启动脚本文件

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

# 配置开机启动mysql

  1. chkconfig --add mysqld
  2. chkconfig mysqld on
  3. chkconfig --list mysqld

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

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

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

1)查询mysql初始用户

  1. mysql
  2. select user,host from mysql.user;

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

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

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

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

4)删除测试test库

  1. show databases ;
  2. drop database test;

# 最终结果如下

  1. -------------------------------
  2. mysql> show databases ;
  3. +--------------------+
  4. | Database |
  5. +--------------------+
  6. | information_schema |
  7. | mysql |
  8. | performance_schema |
  9. +--------------------+
  10. rows in set (0.00 sec)
  11.  
  12. mysql> select user,host from mysql.user;
  13. +------+-----------+
  14. | user | host |
  15. +------+-----------+
  16. | root | 127.0.0.1 |
  17. | root | localhost |
  18. +------+-----------+
  19. rows in set (0.00 sec)
  20. --------------------------------

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

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. testng生成报告ReportNG美化测试报告

    testng生成报告ReportNG美化测试报告 testng生成报告ReportNG美化测试报告 ReportNG 是一个配合TestNG运行case后自动帮你在test-output文件内生成一个 ...

  2. C语言——stdio.h

        int fgetc(FILE * stream); get character from stream 返回流中的一个字符,并以int的类型返回,如果碰到文件的结尾,或者一个错误发生,函数返回 ...

  3. Bootstrap抽样(自展法)

    Bootstrap又称自展法,是用小样本估计总体值的一种非参数方法,在进化和生态学研究中应用十分广泛.例如进化树分化节点的自展支持率等. Bootstrap的思想,是生成一系列bootstrap伪样本 ...

  4. 《Python网络编程基础》第四章 域名系统

    域名系统(DNS) 是一个分布式的数据库,它主要用来把主机名转换成IP地址.DNS以及相关系统之所以存在,主要有以下两个原因:   它们可以使人们比较容易地记住名字,如www.baidu.com. 它 ...

  5. 如何有规律的备份 WordPress 博客(转)

    转自:http://blog.wpjam.com/m/backup-your-blog-regularly/   我们都知道备份 WordPress 博客应该是规律性的操作,但是事实上往往我们都会因为 ...

  6. python 封装时间常用操作方法-time,datetime

    封装脚本: #encoding=utf-8import timefrom datetime import timedelta,date def date_time_chinese():    prin ...

  7. 【Android】使用BaseAdapter实现复杂的ListView【转】

    本文转载自:http://blog.csdn.net/jueblog/article/details/11857281 步骤 使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你 ...

  8. TortoiseGit 访问https远程仓库,上报SSL证书错误解决方法

    报错 在使用TortoiseGit时,clone自己搭建的gitlab报如错SSL certificate problem: self signed certificate 原因:自行搭建的gitla ...

  9. 一个简单的Python字符串处理文件

    #!/usr/bin/env python3 import re def lineprocess(line): res = '' index = 47 if line[index] == 'e': i ...

  10. 使用由 Intel MKL 支持的 R

    我们通常使用的 R 版本是单线程的,即只使用一个 CPU 线程运行所有 R 代码.这样的好处是运行模型比较简单且安全,但是它并没有利用多核计算.Microsoft R Open(MRO,https:/ ...