环境介绍

cat /etc/redhat-release

uname -a

安装 lrzsz 软件,这个软件和编译安装 mysql 无关,只是为了方便后面通过 xshell 拖拽其他软件

yum -y install lrzsz

安装 mysql 需要的各种依赖包

yum -y install ncurses-devel libaio-devel

创建 /home/yuci/tools 目录,用于存放各种软件

mkdir -p /home/yuci/tools

安装 Cmake 软件,mysql 就是通过它编译安装的

cd /home/yuci/tools/

tar zxf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure && gmake && gmake install

# 通过 echo $? 检查是否安装成功,返回值为 0,则正确安装。

为 mysql 创建一个同名的伪用户,并检查

useradd -s /sbin/nologin -M mysql

id mysql

编译安装 MySQL

# 在测试安装 mysql 时发现一个问题,通过 open live writer 复制参数编译失败,但是通过网页却编译成功,我觉得肯定时复制粘贴时“-”出了问题。我的参数肯定是没有错的,如果编译过程中出现报错就手工敲一遍,准保没问题。

tar zxf mysql-5.5.23

cd mysql-5.5.23

####################编译安装参数#########################

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.23 \

-DMYSQL_DATADIR=/application/mysql-5.5.23/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.5.23/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DEXTRA_CHARSETS=gks,gb2312,utf8,ascii \

-DENABLED_LOCAL_INFILE=ON \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \

-DWITH_FAST_MUTEXES=1 \

-DWITH_ZLIB=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DWITH_DBBUG=0

########################################################

make && make install

# 通过 echo $? 检查是否安装成功,返回值为 0,则正确安装。

给 mysql 创建一个软连接,方便后面的操作

ln -s /application/mysql-5.5.23/ /application/mysql

初始化 mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

给 mysql 目录授权

chown -R mysql:mysql /application/mysql

拷贝 MySQL 的配置文件。my.cnf

cp /application/mysql/support-files/my-small.cnf /etc/my.cnf

y

mysqld_safe 是 mysql 的启动脚本,默认的 mysql 安装位置是 /usr/local/mysql ,但是我们的安装路径是 /application/mysql,所以需要通过 sed 更改一下

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysql

尝试启动 mysql 并放入后台执行

/application/mysql/bin/mysqld_safe &

通过 lsof 命令,检查 3306 端口是否启动

lsof –i :3306

通过 netstat 命令,再次确认 mysql 已经正常运行

netstat –tlunp

现在 mysql 启动了,但是还需要配置环境变量,才能登陆 mysql

#编辑 /etc/profile 文件,将下面的变量命令写在文件的最后一行即可,然后执行 source 使其生效

vim /etc/profile

PATH="/application/mysql/bin:$PATH"

source /etc/profile

现在尝试在命令行下登录 mysql

mysql

拷贝 mysql 的启动脚本,修改里面的安装路径,添加执行权限,方便 mysql 的重启

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

通过 killall 命令,将 mysql 进程杀死,直到出现 no process killed

killall mysqld

接下来通过刚才拷贝的脚本启动 mysql 服务

/etc/init.d/mysqld start

在通过 lsof,netstat 命令查看 mysql 是否启动

lsof –i :3306

netstat –tlunp

最后给 mysql 管理员设定一个密码

mysqladmin –uroot password “123456”

正常登录 mysql,编译安装完成

本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1894032

mysql编译安装原理_MySQL编译安装全过程相关推荐

  1. MySQL后初次密码_mysql第一次安装成功后初始化密码操作步骤

    把文件解压到一个目录下 这是解压后的目录 将my.ini文件考进去 双击打开my.ini 找到这两行更改成自己的解压路径保存 右键此电脑属性 找到高级系统设置配置环境变量 环境变量 新建 变量值是解压 ...

  2. mysql 安装 权限_MySQL的安装、使用及权限管理

    一.数据库安装及管理 1. 安装 需安装mysql客户端和服务器端.Centos下,可用命令:yum install mysql安装mysql客户端:使用命令:yum install mysql-se ...

  3. mysql下载32位安装教程_MySQL下载安装教程

    下载MySQL 下拉点击社区下载: 点击MySQL Community Server.如下图: 上图中有两个下载包,一个是安装引导包,一个是压缩安装包,选择第二个. 点击Download进入下图页面, ...

  4. mysql官网安装步骤_MySQL的安装与配置——详细教程

    免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...

  5. java 编译运行原理_Java编译和解释执行对比及原理解析

    编程语言分为低级语言和高级语言,机器语言.汇编语言是低级语言,C.C++.java.python等是高级语言. 机器语言是最底层的语言,能够直接执行.而我们编写的源代码是人类语言, 计算机只能识别某些 ...

  6. mysql编译卡主_mysql 编译安装以及主从设定

    1. 下载MYSQL源码包至/home/mysql_home. 我下载下来的源码包文件名为:mysql-5.0.45.tar.gz 2. 在/home/mysql_home下,解压. tar zxvf ...

  7. mysql安装被打断_Mysql的安装/性能优化/安全加固

    aa 安装: 增加一个登录用户和群组#groupaddmysql #useradd -r -g mysql mysql解压缩Mysql数据包 #tar-zxvf mysql-5.6.13.tar.gz ...

  8. mysql 免安装初始化_mysql免安装版配置步骤详解分享

    1.准备工作 下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\\ mysql-noinstall-5.1.53-win32. ...

  9. mysql写什么不同_mysql - 编译配置PHP时,两种配置写法有什么不同

    在编译PHP时, --with-扩展库=DIR --enable-扩展库 这两种配置有什么不同 回复内容: 在编译PHP时, --with-扩展库=DIR --enable-扩展库 这两种配置有什么不 ...

最新文章

  1. 联想G480类似没有小键盘开关的机器
  2. D - 数据结构实验之排序四:寻找大富翁
  3. spring 登录提示 Bad credentials
  4. css 超出隐藏滚动条_css 之内容溢出滚动,隐藏滚动条(解决火狐浏览隐藏不了滚动条问题)...
  5. Android全工程编译不过问题汇总
  6. [转]Newtonsoft.Json高级用法
  7. oracle一对多个值,Oracle一张表中实现对一个字段不同值和总值的统计(多个count)...
  8. 制作 Eset Nod32 离线升级包
  9. 常见数学公式和符号的英文读法大全
  10. GB/T 36964-2018《软件工程 软件开发成本度量规范》国家标准正式发布...
  11. UE4 蓝图入门学习笔记
  12. 中国公路客运中心产业运营现状与十四五管理规划报告2022-2028年
  13. 互联网+房地产最后拼什么?除了技术还是技术
  14. 2015校园招聘联通笔试的几个题目
  15. 手把手教你Android来去电通话自动录音的方法
  16. python arp协议分析_通过python对本局域网进行ARP扫描获取MAC
  17. 关于重装系统后部分文件呈绿色的原因
  18. 系统吞吐量、QPS、并发数、响应时间,以及提高吞吐量的思路
  19. 五月集训总结——来自阿光
  20. win7远程计算机设置路由器,win7路由器设置图解 win7路由器怎么设置

热门文章

  1. stauml工具怎么导入文件_小伙教大家怎么剪辑短视频,1小时就学会添加字幕,值得收藏哦...
  2. 彩色手绘情节人插画装饰素材,psd分层利于应用!
  3. 一张壁纸就是一段故事,壁纸控的找图不难!
  4. 配色没有灵感?最流行的配色案例!没有一个人不爱的
  5. Python十行代码带你穿越管世界
  6. 实现后台高级查询(高级版)
  7. Linux内核深入理解中断和异常(1)
  8. MessagePack简介及使用:一种有效的二进制序列化格式
  9. 一个简单的fftw3例子:正弦信号的离散傅里叶变换
  10. ANSI C:+++