完整版见https://jadyer.github.io/2014/09/29/centos-install-mysql/

/**
* CentOS-6.4-minimal版中源代码安装MySQL-5.5.38
* ----------------------------------------------------------------------------------------------------------------------
* 三种安装方式
* 1)源代码安装
* 2)二进制包安装
* 3)rpm或yum安装
* 本文演示的是源代码安装,而且,从mysql-5.5開始,源代码安装要通过cmake安装,不能再像曾经使用configure安装了
* 我们在mysql-5.5.38.tar.gz的根文件夹中,会看到一个名为"BUILD-CMAKE"的文件,打开能够看到以下这句话
* WHAT YOU NEED : CMake version 2.6 or later installed on your system.
* ----------------------------------------------------------------------------------------------------------------------
* 安装CMake(cross platform make)
* cmake的特性是独立于源代码编译,编译工作能够在另外一个文件夹中而非源代码文件夹中进行,优点是能够保证源代码文件夹不受不论什么一次编译的影响
* cmake安装方法详见官方文档http://www.cmake.org/install/,我们到http://www.cmake.org/download/下载cmake-3.0.2.tar.gz
* [root@CentOS64 software]# cmake -version #我们会发现没有输出,说明本机并未安装cmake
* [root@CentOS64 software]# yum list cmake --showduplicates #查看yum可安装的软件包版本号,会看到仅仅能安装cmake-2.6.4-5.el6版本号,故舍弃
* [root@CentOS64 software]# yum -y install gcc gcc-c++ #安装必要的编译环境
* [root@CentOS64 software]# yum -y install autoconf libtool #安装必要的编译环境
* [root@CentOS64 software]# yum -y install ncurses-devel #安装必要的编译环境(这是配置MySQL环境变量时要用的库,这里一起安装了)
* [root@CentOS64 software]# tar zxvf cmake-3.0.2.tar.gz #解压cmake-3.0.2源代码
* [root@CentOS64 software]# cd cmake-3.0.2 #进入cmake-3.0.2源代码文件夹
* [root@CentOS64 cmake-3.0.2]# ./bootstrap #成功时,会提示CMake has bootstrapped. Now run gmake.
* [root@CentOS64 cmake-3.0.2]# gmake #运行编译
* [root@CentOS64 cmake-3.0.2]# gmake install #运行安装
* [root@CentOS64 cmake-3.0.2]# cd ~ #退出cmake-3.0.2源代码文件夹
* [root@CentOS64 ~]# rm -rf /app/software/cmake-3.2.0* #删除cmake-3.0.2源代码
* [root@CentOS64 ~]# cmake -version #验证cmake-3.0.2安装结果
* ----------------------------------------------------------------------------------------------------------------------
* @create Sep 28, 2014 5:47:18 PM
* @author 玄玉<http://blog.csdn.net/jadyer>
*/
/**
* ----------------------------------------------------------------------------------------------------------------------
* 安装MySQL
* [root@CentOS64 ~]# groupadd -r mysql
* [root@CentOS64 ~]# useradd -r -s /sbin/nologin -g mysql mysql
* [root@CentOS64 ~]# mkdir -pv /app/mysql
* [root@CentOS64 ~]# mkdir -pv /app/mysql_data
* [root@CentOS64 ~]# chown -R mysql.mysql /app/mysql_data
* [root@CentOS64 ~]# tar zxvf /app/software/mysql-5.5.38.tar.gz
* [root@CentOS64 ~]# cd mysql-5.5.38/
* [root@CentOS64 mysql-5.5.38]# cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/app/mysql_data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
* [root@CentOS64 mysql-5.5.38]# make
* [root@CentOS64 mysql-5.5.38]# make install
* ----------------------------------------------------------------------------------------------------------------------
* 配置MySQL
* [root@CentOS64 ~]# cd /app/mysql/support-files/
* [root@CentOS64 support-files]# cp my-large.cnf /etc/my.conf #拷贝配置文件
* [root@CentOS64 support-files]# cp mysql.server /etc/init.d/mysqld #拷贝启动脚本
* [root@CentOS64 support-files]# chmod -x /etc/init.d/mysqld #赋予可运行权限
* [root@CentOS64 support-files]# chkconfig --add mysqld #加入系统服务
* [root@CentOS64 support-files]# chkconfig mysqld on #开机启动
* [root@CentOS64 support-files]# vi /etc/profile.d/mysql.sh #手动创建,加入内容为[export PATH=$PATH:/app/mysql/bin]
* [root@CentOS64 support-files]# source /etc/profile.d/mysql.sh #运行一遍
* [root@CentOS64 support-files]# echo $PATH #查看结果
* [root@CentOS64 support-files]# cd /app/mysql #进入MySQL主文件夹
* [root@CentOS64 mysql]# bin/mysql_secure_installation #会提示设置rootpassword,是否移除匿名用户,是否禁止root远程登录等等
* ----------------------------------------------------------------------------------------------------------------------
* 改动配置文件/etc/my.cnf
* 在[mysqld]以下添加或改动以下属性
* user = mysql
* basedir = /app/mysql
* datadir = /app/mysql_data
* pid-file = /app/mysql_data/mysqld.pid
* ft_min_word_len = 4
* max_allowed_packet = 32M
* character-set-server = urf8
* skip-name-resolve
* ----------------------------------------------------------------------------------------------------------------------
* 初始化MySQL
* [root@CentOS64 ~]# /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/app/mysql_data --user=mysql
* ----------------------------------------------------------------------------------------------------------------------
* 启动MySQL
* [root@CentOS64 ~]# service mysqld start
* [root@CentOS64 ~]# netstat -tlanop | grep :3306
* [root@CentOS64 ~]# mysql -uroot -phongyu
* ----------------------------------------------------------------------------------------------------------------------
* @create Sep 29, 2014 11:04:27 AM
* @author 玄玉<http://blog.csdn.net/jadyer>
*/
/**
* ----------------------------------------------------------------------------------------------------------------------
* 注意事项
* 1)安装必要的编译环境时,也能够使用[um -y groupinstall "Development tools"]命令,但这会安装大约101个库,太粗暴,不建议
* 2)useradd -s /sbin/nologin
* 该命令用于设置加入的用户默认bash为nologin,即不同意此用户通过shell登录系统
* 3)/app/mysql/ 文件夹为MySQL数据库主程序文件夹
* /app/mysql_data/文件夹为MySQL数据文件文件夹
* 4)假设在cmake配置环境的过程中出错,比方提示ncurses-devel not found,当yum install后,想又一次配置环境时,要先清除旧的对象文件和缓存信息
* [root@CentOS64 mysql-5.5.38]# make clean
* [root@CentOS64 mysql-5.5.38]# rm -f CMakeCache.txt
* [root@CentOS64 mysql-5.5.38]# rm -rf /etc/my.cnf
* 5)初始化MySQL时,要跟上--basedir和--datadir參数
* 否则会因为相对路径的关系,而报告FATAL ERROR: Could not find ./bin/my_print_defaults
* 6)启动MySQL时提示[env: /etc/init.d/mysqld: 权限不够]
* 此时运行[chmod -x /etc/init.d/mysqld]是不行的,须要运行[chmod a+wrx /etc/init.d/mysqld]
* 然后运行[service mysqld start]就可以启动,启动成功时会看到[Starting MySQL.... SUCCESS!]
* 注意此操作全程为root用户
* 7)安装并启动完MySQL后,默认不支持用户通过非本机的client连接到MySQL,解决的方法例如以下
* [root@CentOS64 ~]# mysql -uroot -phongyu
* mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hongyu22' WITH GRANT OPTION;
* mysql> FLUSH PRIVILEGES;
* mysql> exit
* 如此,全部用户就都能够连接到MySQL了,只是注意连接时使用的password是hongyu22,而非hongyu
* 当中,['root'@'%']里面的root表示username,%代表随意主机或IP地址,能够依据实际须要改动username或主机IP
* 而且,这里授权是授权全部权限,当然也能够指定部分权限,详见官方文档http://dev.mysql.com/doc/refman/5.5/en/grant.html
* 8)通过以上操作,若client仍无法连接MySQL,可尝试下面办法
* 改动/etc/sysconfig/iptables文件,添加一行[-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT]
* 接着再运行[service iptables restart]命令重新启动防火墙就可以,不须要重新启动Linux
* 具体说明见http://blog.csdn.net/jadyer/article/details/11324237
* ----------------------------------------------------------------------------------------------------------------------
* 编译选项(其他參数见官方文档)
* -DCMAKE_INSTALL_PREFIX=/app/mysql #数据库安装路径(默觉得/usr/local/mysql),该參数可在启动服务时用--basedir參数指定
* -DINSTALL_PLUGINDIR=/usr/local/mysql/plugin #插件文件及配置路径
* -DMYSQL_DATADIR=/app/mysql_data #数据文件路径
* -DSYSCONFDIR=/etc #配置文件路径
* -DWITH_INNOBASE_STORAGE_ENGINE=1 #安装InnoDB存储引擎
* -DWITH_MYISAM_STORAGE_ENGINE=1 #安装MyISAM存储引擎
* -DWITH_ARCHIVE_STORAGE_ENGINE=1 #安装archive存储引擎
* -DWITH_BLACKHOLE_STORAGE_ENGINE=1 #安装blackhole存储引擎
* -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 #取消安装blackhole存储引擎
* -DWITH_READLINE=1 #支持批量导入mysql数据
* -DWITH_SSL=yes #支持SSL
* -DWITH_SSL=system #mysql支持ssl会话,实现基于ssl的数据复制
* -DWITH_ZLIB=system #压缩库
* -DWITH_LIBWRAP=0 #能否够基于WRAP实现訪问控制
* -DMYSQL_USER=mysql #MySQLusername
* -DMYSQL_TCP_PORT=3306 #MySQL监听端口
* -DMYSQL_UNIX_ADDR=/tmp/mysql.sock #指定socket文件存放位置
* -DENABLED_LOCAL_INFILE=1 #是否启用LOCAL_INFILE功能,即同意从本地导入数据
* -DEXTRA_CHARSETS=all #安装全部扩展字符集
* -DDEFAULT_CHARSET=utf8 #默认编码机制
* -DDEFAULT_COLLATION=utf8_general_ci #默认语言的排序规则(校验字符)
* -DWITH_DEBUG=0 #DEBUG功能设置
* -DENABLE_PROFILING=1 #是否启用性能分析功能
* ----------------------------------------------------------------------------------------------------------------------
* @create Sep 29, 2014 11:05:06 AM
* @author 玄玉<http://blog.csdn.net/jadyer>
*/

CentOS-6.4-minimal版中源代码安装MySQL-5.5.38的更多相关文章

  1. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 5、安装Datastore

    安装Datastore 解压datastore安装包,tar -xzvf ArcGIS_DataStore_Linux_1051_156441.tar.gz 切换到arcgis账户静默安装server ...

  2. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 4、安装 ArcGIS for Server

    安装ArcGIS for Server 解压server安装包,tar -xzvf ArcGIS_Server_Linux_1051_156429.tar.gz 切换到arcgis账户静默安装serv ...

  3. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 3、安装Portal for ArcGIS

    安装Portal for ArcGIS 解压portal安装包,tar -xzvf Portal_for_ArcGIS_Linux_1051_156440.tar.gz 切换到arcgis账户静默安装 ...

  4. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 2、安装WebAdapter

    解压webadapter安装包,tar -xzvf Web_Adaptor_Java_Linux_1051_156442.tar.gz 进入下Webadapter目录下静默安装 ./Setup -m ...

  5. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 1、安装前准备

    安装前准备 上传文件到服务器,x-ftp   xshell登陆Centos 检查机器名 修改机器名为:portal.cloud.local   方法一:零时设置,重启后失效,该方法不可取     方法 ...

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

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

  7. windows中配置安装mysql数据库

    MySql 是一种免费的关系型数据库,相较于 MsSqlServer 和 Oracle 比较轻量化,安装也很简单,而且免费不需要的版权费用,个人认为一般的小项目采用还是比较合适的,当然也有部分数据量很 ...

  8. centos 6.X minimal 系列最小化安装完成后,安装mono和jexus过程小记录

    在使用虚拟机安装minimal版centos运行mono+jexus的时候,遇到了一些坑,记录一下,比如虚拟机访问不了网络,没wget命令没开放80端口,等等小问题,其他网上教程已经有mono+jex ...

  9. 通过Minimal版的iso安装CentOS7之后升级Desktop

    重新安装了CentOS7,但是使用的是Minimal的iso镜像安装的,所以安装之后只有文本界面,这里记录一下重新安装图形界面的过程. 连接网络 通过文本界面登陆后是没有连接网络的,所以需要修改配置连 ...

随机推荐

  1. AjAX 常用参数

    1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...

  2. STM32 使用Cubemx 建一个USB(HID)设备下位机,实现数据收发

    这里我主要说一下如何做一个USB下位机,这里主要分3部分:1.建立工程:2.添加报文描述符:3.数据的传输.这里就不讲USB的理论知识了,有想要了解的自行百度一下就可以了. 建立工程:工程建立参考:h ...

  3. 一个简单搜索引擎的搭建过程(Solr+Nutch+Hadoop)

    最近,因为未来工作的需要,我尝试安装部署了分布式爬虫系统Nutch,并配置了伪分布式的Hadoop来存储爬取的网页结果,用solr来对爬下来的网页进行搜索.我主要通过参考网上的相关资料进行安装部署的. ...

  4. Spring中 @Autowired标签与 @Resource标签 的区别(转)

    spring不但支持自己定义的@Autowired注解,还支持由JSR-250规范定义的几个注解,如:@Resource. @PostConstruct及@PreDestroy. 1. @Autowi ...

  5. UVALive - 2031 Dance Dance Revolution 三维dp

    题目大意:有一个胖子在玩跳舞机.刚開始的位置在(0,0).跳舞机有四个方向键,上左下右分别相应1,2,3,4.如今有下面规则 1.假设从0位置移动到随意四个位置,消耗能量2 2.假设从非0位置跳到相邻 ...

  6. 调用支付宝SDK问题

    近期做了一个项目里面要有支付.银联.支付宝,微信支付 我先一个一个写吧 先说支付宝SDK 支付宝SDK放进project里面之后肯定会报错.这时候你就要一个一个改掉 1. 2. 3. 哎 我懒得写了. ...

  7. linux /proc/cpuinfo 文件描写叙述

    processor :系统中逻辑处理核的编号.对于单核处理器.则课觉得是其CPU编号,对于多核处理器则能够是物理核.或者使用超线程技术虚拟的逻辑核 vendor_id :CPU制造商 cpu fami ...

  8. ZOJ 1696 Viva Confetti 计算几何

    计算几何:按顺序给n个圆覆盖.问最后能够有几个圆被看见.. . 对每一个圆求和其它圆的交点,每两个交点之间就是可能被看到的圆弧,取圆弧的中点,往外扩展一点或者往里缩一点,从上往下推断有没有圆能够盖住这 ...

  9. CDOJ 876 爱管闲事 DP

    爱管闲事 春希非常爱管闲事,他每天都会抽空帮助一些同学,由于春希非常死板,出于公平性,春希不会先帮助后来找他的同学. 现在有n个同学需要他的帮助,虽然他很想一天之类帮助所有人,但毕竟精力有限,于是他决 ...

  10. Composer使用实践

    Composer 是 PHP5.3以上 的一个依赖管理工具.它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们. 地址在这里 库地址 这里相当于php应用商店,存放着很多库. 这些库,基本上 ...