CentOS 7运维管理笔记(10)----MySQL源码安装
MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统。本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程。
1.下载源码
选择使用北理工的镜像文件:

在CentOS 7 中输入如下命令:
[root@javis:~/Downloads] # wget http://mirror.bit.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.31.tar.gz

2.解压mysql源码压缩文件,并更新软件源

3.安装编译所需软件包
yum install -y make gcc-c++ cmake bison-devel ncurses-devel gcc autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*
结果显示如下错误:

网上查找应对 [Errno 256] 的办法,使用如下命令:
yum clean all
yum makecache
输入这两个命令后,重新下载那些编译MySQL依赖的软件包,这次一个一个安装,不要所有软件包都输入在同一个命令行里:
yum install -y make
yum install -y gcc-c++
yum install -y cmake
......
这次libxml* 安装正常了,但是好像fiex* 的安装还是存在问题,且不管了,继续进行。
4. 使用cmake命令生成MakeFile
先生成/var/mysql/data 目录:
mkdir -p /var/mysql/data
关于CMake的介绍见百度:http://baike.baidu.com/link?url=N-Yk2wK5C807vyXsK58_93dRocV_NIitJKug8925aUovJrKNQ2roUOuCxK2m1xC9u2Vpz6WjHG18bwQtZrhH4a
输入如下命令:
[root@localhost:~/Downloads/mysql-5.7.] # cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_DATADIR=/var/mysql/data \
> -DSYSCONFDIR=/etc \
> -DWITH_MYISAM_STORAGE_ENGINE= \
> -DWITH_INNOBASE_STORAGE_ENGINE= \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DMYSQL_TCP_PORT= \
> -DENABLED_LOCAL_INFILE= \
> -DEXTRA_CHARSETS=all \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci
结果出现如下错误:

百度搜索 CMake Error at cmake/boost.cmake:81 (MESSAGE),找到这么一个网页:http://www.cnblogs.com/chunguang/p/5553301.html
看到方法一太凌乱,就没好好看,直接选择了方法二----然而并没有效果;
再仔细看刚才cmake的错误提示:

对比搜到的那个网页的方法一,原来方法一跟cmake提示的一样,就是多加上一句cmake条件而已:-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
[root@localhost:~/Downloads/mysql-5.7.] # cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_DATADIR=/var/mysql/data \
> -DSYSCONFDIR=/etc \
> -DWITH_MYISAM_STORAGE_ENGINE= \
> -DWITH_INNOBASE_STORAGE_ENGINE= \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DMYSQL_TCP_PORT= \
> -DENABLED_LOCAL_INFILE= \
> -DEXTRA_CHARSETS=all \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci
> -DDOWNLOAD_BOOST=1 \
> -DWITH_BOOST=/usr/local/boost
CMake之,过程中出现如下画面:

这回CMake成功:

5.编译
该过程会花费大约30分钟~~~~
[root@localhost:~/Downloads/mysql-5.6.31] # make

6.安装
[root@localhost:~/Downloads/mysql-5.6.] # make install

安装过程大约5分钟搞定吧。
7.添加用户并设置权限
[root@localhost:~/Downloads/mysql-5.6. ]# cd /usr/local/mysql
#添加用户
[root@localhost:/usr/local/mysql ]# groupadd mysql
[root@localhost:/usr/local/mysql ]# useradd -r -g mysql mysql
#设置权限以便mysql能修改文件
[root@localhost:/usr/local/mysql ]# chown -R mysql.mysql ./
[root@localhost:/usr/local/mysql ]# chown -R mysql.mysql /var/mysql/data #初始化数据库
#需要注意,此处设置的数据目录应该与之前MYSQL_DATADIR 指定的目录相同
[root@localhost:/usr/local/mysql ]# scripts/mysql_install_db --usr=mysql -ldata=/var/mysql/data
执行结果:

使用 ll 命令可以看到新生成了my.cnf 文件

将my.cnf 备份
cp my.cnf my.cnf.backup
然后修改相应的目录的权限以便mysql修改:
[root@localhost: /usr/local/mysql]# chown -R root ./
[root@localhost: /usr/local/mysql]# chown -R mysql data

关于编译MySQL时的参数,这个网页有详细的说明:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
8. 配置MySQL的配置文件,如下所示:

9. 设置MySQL为系统服务
(i)将启动脚本放到 /etc/init.d 目录中

(ii)将 mysqld 添加为系统服务

(iii)启动MySQL服务

出现如上所示错误
网上搜寻答案,http://blog.sina.com.cn/s/blog_637e04c9010117ri.html,http://www.jb51.net/article/48625.htm,想到可能是因为刚才设置了
[root@localhost: /usr/local/mysql]# chown -R mysql.mysql ./ #后来又设置了
[root@localhost: /usr/local/mysql]# chown -R root ./
而 my.cnf 配置文件没有做正确的修改,按照刚才的错误提示,(The server quit without updating PID file (/var/mysql/data/javis)),修改my.cnf文件如下:

再次启动

成功!
(iv) 为 root 用户设置密码

在第一个红色方框处提示要输入密码,因为此时还没有为root 用户设置密码,所以什么都不用输入,直接按下回车键。
设置密码要按照第二个红色方框处的格式来进行设置,密码放在 password()的括号里,而且要用单引号包围起来。
显示正确后,输入quit退出。
谨记 2016-07-04-Mon 20:11
CentOS 7运维管理笔记(10)----MySQL源码安装的更多相关文章
- CentOS 7运维管理笔记(9)----Apache 安全控制与认证
Apache 提供了多种安全控制手段,包括设置Web访问控制.用户登陆密码认证及 .htaccess 文件等.通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取 ...
- CentOS 7运维管理笔记(11)----PHP安装与配置
PHP的安装同样需要经过环境检查.编译和安装3个步骤. 1.首先用百度搜索 “PHP:Downloads”, 点击第一个网页: 选择5.5.37版本,选择 .tar.gz 格式的文件: 来到镜像列表网 ...
- CentOS 7运维管理笔记(5)----源代码安装Apache 2.4,搭建LAMP服务器
########################## 2016-07-07-Thu--20:34 补充 ##################### 编译安装OpenSSL笔记: 如果系统要使用 ...
- CentOS 7运维管理笔记(6)----Apache 基于 IP 的虚拟主机配置
Apache 配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置.本篇随笔记录自己基于IP的虚拟主机配置. 如果同一台服务器有多个IP,可以使用基于IP的 ...
- CentOS 7运维管理笔记(4)----安装ftp服务器
在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的 ...
- CentOS 7运维管理笔记(1)----设置默认启动模式为GUI模式或命令行模式
昨天在虚拟机中安装CentOS 7时选择了GNOME模式安装,开机默认进入GUI模式.网上搜找修改为默认命令行模式的方法,看到说修改 /etc/inittab文件,在最低下一行添加 但是 使用 cat ...
- CentOS 7运维管理笔记(12)----GUI配置工具Webmin的安装
早期的Linux系统管理员或是Web管理员在修改服务器配置时使用最多的就是vi编辑器,但是现在越来越多的基于GUI界面的配置工具出现了,毕竟人们还是喜欢以直接的可视化的方式来修改服务器的配置,而不是再 ...
- CentOS 7运维管理笔记(12)----PHP页面失去焦点后变成空白的解决方法
昨天搭建好了LAMP服务器,可以正常看到PHP页面了.后来发现每当把鼠标从浏览器中移开而点击其他地方时,PHP页面就变成一片空白.即PHP页面失去焦点后就变空白,不知为何. 今天网上搜索解决方案,终于 ...
- CentOS 7运维管理笔记(11)----解决配置静态IP还是会出现动态IP地址的问题
网上搜集CentOS7 配置静态IP的方法,基本上都是说在 /etc/sysconfig/network-scripts/ifcfg-eth0文件中做如下配置 TYPE=Ethernet HWADDR ...
随机推荐
- Saiku2.6 Saiku315 链接SQL的JDBC字符串
Saiku26 type=OLAP name=CloudConn driver=mondrian.olap4j.MondrianOlap4jDriver location=jdbc:mondrian: ...
- 虚拟立方体调用非共享维度的时候需要指定cubeName,否则Schema无效
但是,即使把非共享维度放上去,会出现一种情况. 一旦放入资产负债的非公共维度进去后,报表的度量值只能出现资产负债的度量值,不能出现损益的度量值了!
- 高阶篇:4.2.4)DFMEA严重度S(+分类e)、频度O、探测度D、风险优先系数RPN
本章目的:填写严重度S(+分类).频度O.探测度D,判定风险优先系数RPN. 1.前言 实施阶段中, 要求.潜在失效模式.潜在失效后果.潜在失效原因和现有设计控制措施等 5 个为基础项, 它们的分析是 ...
- P4027 [NOI2007]货币兑换
传送门 首先有一个显然的贪心,每次操作都要做到底,为了最优不会出现只卖一部分或者只买一部分的操作 所以设 $f[i]$ 表示前 $i$ 天得到的最大价值,那么对于每一个 $i$,枚举所有 $j< ...
- QRegExp
这段代码会越界,百思不得七姐(过了N久时间 之后^^)原来是把i写成了1 --! //#if 0 QRegExp re1("AT+CGATT?"); QRegExp re2(&q ...
- Oracle 数据库创建、表空间创建、用户创建 步骤
一.数据库创建: 1.利用数据库配置助手(DBCA,Database Configuration Assistant)图形化方式 2.创建完成之后,找到 D:\oracle\product\11.2 ...
- C语言字符串的操作
C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. ...
- centos 7 下安装nginx-1.15.7
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装安装 nginx 需要先 ...
- CSAPP阅读笔记-汇编语言初探(控制类指令)-来自第三章3.6的笔记-P135-P163
1.正溢出与负溢出: 首先,一个正数与一个负数相加,不可能溢出,因为结果的绝对值一定小于两个加数的绝对值,既然两个加数能合理表示出来,结果一定也能合理表示出来. 其次,正溢出是由于两个很大的正数相加, ...
- java BufferedImage 合成多张图片 - 因为JPEGImageEncoder 不能用
java BufferedImage 合成多张图片 public void createPicTwo2(int x,int y) { try { //读取第一张图片 ...