CentOS-6.4-minimal版中源码安装MySQL-5.5.38

/**
 * 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
 * [[email protected] software]# cmake -version                  #我们会发现没有输出,说明本机并未安装cmake
 * [[email protected] software]# yum list cmake --showduplicates #查看yum可安装的软件包版本,会看到只能安装cmake-2.6.4-5.el6版本,故舍弃
 * [[email protected] software]# yum -y install gcc gcc-c++      #安装必要的编译环境
 * [[email protected] software]# yum -y install autoconf libtool #安装必要的编译环境
 * [[email protected] software]# yum -y install ncurses-devel    #安装必要的编译环境(这是配置MySQL环境变量时要用的库,这里一起安装了)
 * [[email protected] software]# tar zxvf cmake-3.0.2.tar.gz     #解压cmake-3.0.2源码
 * [[email protected] software]# cd cmake-3.0.2                  #进入cmake-3.0.2源码目录
 * [[email protected] cmake-3.0.2]# ./bootstrap                  #成功时,会提示CMake has bootstrapped.  Now run gmake.
 * [[email protected] cmake-3.0.2]# gmake                        #执行编译
 * [[email protected] cmake-3.0.2]# gmake install                #执行安装
 * [[email protected] cmake-3.0.2]# cd ~                         #退出cmake-3.0.2源码目录
 * [[email protected] ~]# rm -rf /app/software/cmake-3.2.0*      #删除cmake-3.0.2源码
 * [[email protected] ~]# cmake -version                         #验证cmake-3.0.2安装结果
 * ----------------------------------------------------------------------------------------------------------------------
 * @create Sep 28, 2014 5:47:18 PM
 * @author 玄玉<http://blog.csdn.net/jadyer>
 */
/**
 * ----------------------------------------------------------------------------------------------------------------------
 * 安装MySQL
 * [[email protected] ~]# groupadd -r mysql
 * [[email protected] ~]# useradd -r -s /sbin/nologin -g mysql mysql
 * [[email protected] ~]# mkdir -pv /app/mysql
 * [[email protected] ~]# mkdir -pv /app/mysql_data
 * [[email protected] ~]# chown -R mysql.mysql /app/mysql_data
 * [[email protected] ~]# tar zxvf /app/software/mysql-5.5.38.tar.gz
 * [[email protected] ~]# cd mysql-5.5.38/
 * [[email protected] 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
 * [[email protected] mysql-5.5.38]# make
 * [[email protected] mysql-5.5.38]# make install
 * ----------------------------------------------------------------------------------------------------------------------
 * 配置MySQL
 * [[email protected] ~]# cd /app/mysql/support-files/
 * [[email protected] support-files]# cp my-large.cnf /etc/my.conf       #拷贝配置文件
 * [[email protected] support-files]# cp mysql.server /etc/init.d/mysqld #拷贝启动脚本
 * [[email protected] support-files]# chmod -x /etc/init.d/mysqld        #赋予可执行权限
 * [[email protected] support-files]# chkconfig --add mysqld             #加入系统服务
 * [[email protected] support-files]# chkconfig mysqld on                #开机启动
 * [[email protected] support-files]# vi /etc/profile.d/mysql.sh         #手动创建,添加内容为[export PATH=$PATH:/app/mysql/bin]
 * [[email protected] support-files]# source /etc/profile.d/mysql.sh     #执行一遍
 * [[email protected] support-files]# echo $PATH                         #查看结果
 * [[email protected] support-files]# cd /app/mysql                      #进入MySQL主目录
 * [[email protected] mysql]# bin/mysql_secure_installation              #会提示设置root密码,是否移除匿名用户,是否禁止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
 * [[email protected] ~]# /app/mysql/scripts/mysql_install_db --basedir=/app/mysql --datadir=/app/mysql_data --user=mysql
 * ----------------------------------------------------------------------------------------------------------------------
 * 启动MySQL
 * [[email protected] ~]# service mysqld start
 * [[email protected] ~]# netstat -tlanop | grep :3306
 * [[email protected] ~]# 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后,想重新配置环境时,要先清除旧的对象文件和缓存信息
 *   [[email protected] mysql-5.5.38]# make clean
 *   [[email protected] mysql-5.5.38]# rm -f CMakeCache.txt
 *   [[email protected] 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后,默认不支持用户通过非本机的客户端连接到MySQL,解决办法如下
 *   [[email protected] ~]# mysql -uroot -phongyu
 *   mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hongyu22' WITH GRANT OPTION;
 *   mysql> FLUSH PRIVILEGES;
 *   mysql> exit
 *   如此,所有用户就都可以连接到MySQL了,不过注意连接时使用的密码是hongyu22,而非hongyu
 *   其中,['root'@'%']里面的root表示用户名,%代表任意主机或IP地址,可以根据实际需要修改用户名或主机IP
 *   并且,这里授权是授权所有权限,当然也可以指定部分权限,详见官方文档http://dev.mysql.com/doc/refman/5.5/en/grant.html
 * 8)通过以上操作,若客户端仍无法连接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                          #MySQL用户名
 * -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>
 */
时间: 2024-10-12 03:09:26

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

CentOS-6.4-minimal版中源码安装Apache-2.2.29

/** * CentOS-6.4-minimal版中源码安装Apache-2.2.29 * ---------------------------------------------------------------------------------------------------------------------- * 源码安装软件时常见的三个步骤 * 1)配置环境:通常命令为./configure --prefix=DIR(即指定软件安装目录),如果还想启用其它功能,可在后面接着添

CentOS 7下源码安装MySQL 5.7

网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右(5.7版本的是600M左右), 对于第二种方法,我搞了一天,无果,到某个环节实在是无法走通,老大那边也不让搞了,隔了几天老大又吩咐我在生产服务器上安装mysql,这次我就按照第一种方法源码安装方式 下载源码安装包 http://dev.my

CentOS 6.4 源码安装MySQL 5.6

1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本.bison :MySQL语法解析器需要使用bison进行编译.ncurses-devel :用于终端操作的开发包. 1.2 MySQL编译参数 CMAKE_BUILD_TYPE 编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化.CMAKE_I

linux上源码安装MySQL详解

最近需要使用MySQL Fabric,这货是MySQL5.6.10之后才出现的utility.手头机器装的是MySQL5.1,所以需要先把旧版MySQL升级成5.6版本.之前没有玩过MySQL,所以这次稍微费了点事.在此,把过程记录下来,希望能给有需求的人提供一点帮助.下面我们就正式开始. 1. 删除老版本MySQL 其实删除老版MySQL是一件很简单的事,但是开始时候由于担心各个包的依赖会导致各种问题,亦步亦趋来得很慢.其实只需要做到这么几步就可以了: 1.1 查看已安装的mysql版本并删除

源码安装mysql

创建mysql组:groupadd mysql 创建mysql用户并赋予这个mysq组中,不创建家目录,不允许用户登录.(因为刚刚创建的mysql是虚拟用户,所以不允许登录)useradd mysql -g mysql -M -s /bin/nologin 源码安装mysql 解压后进行编译安装:./configure \--prefix=/application/mysql5.1.72 \--with-unix-socket-path=/application/mysql5.1.72/tmp/

源码安装mysql,及主从同步

源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure #CMake has bootstrapped. Now run gmake. gmake gmake install cd ../ 依赖包安装(这里直接可以用yum安装cmake) # yum install cmake gcc gcc-c++ gcc-g77 autoconf au

centos6.5下源码安装mysql密码修改

Centos下源码安装mysql密码破解方法: 方法一:首先停止mysql服务,: /etc/init.d/mysqldstop 停止mysql ps -ef |grep mysql 查看mysql是否关闭 然后以跳过权限方式后台启动 /usr/local/mysql/bin/mysqld_safe--skip-grant-tables --user=mysql & /usr/local/mysql/bin/mysql进入mysql 或者执行mysql回车进入mysql,然后修改密码. 修改My

Linux 源码安装mysql

源码安装mysql tar zxf mysql-boost-5.7.11.tar.gz rpm -ivh cmake-2.8.12.2-4.el6.x86_64.rpm yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y cd mysql-5.7.11/ yum install gcc-c++ ncurses-devel bison -y 检测 [[email protected]]# cmake -DCMAKE_INSTALL_PREFIX=/usr/

CentOS7 下源码安装MySQL 8.0.11

CentOS7 下源码安装MySQL 8.0.11 系统环境:CentOS7, 内核:Linux 3.10.0-862.el7.x86_64 如果有旧版本的MySQL,先卸载,用下面命令来查询出系统有哪些相关的MySQL包. rpm -qa | grep mysql 如果上述命令查询出有相关的MySQL包,就卸载 rpm -e 包名 卸载MariaDB包 yum remove mariadb-libs.x86_64 从MySQL官网下载源码包,并将该文件拷贝到系统中. https://dev.m