Linux(centos)下mysql编译安装教程
Linux下mysql编译安装教程
#查看linux发行版本
cat /etc/issue
#查看linux内核版本号
uname -r
本文測试环境centOS6.6
一、Linux下编译安装MySQL前的准备工作
在线安装编译源代码所需的工具和库(无法联网的话要事先准备软件,或者系统盘)
yum install gcc gcc-c++ ncurses-devel perl
从mysql5.5起源代码编译须要借助cmake这款编译工具。从http://www.cmake.org下载cmake源代码并编译安装。
wget http://www.cmake.org/files/v3.3/cmake-3.3.0.tar.gz
tar -xzvf cmake-3.3.0.tar.gz
cd cmake-3.3.0
./bootstrap ; make ; make install
cd ~
二、设置MySQL用户和组
新增mysql用户组,新增mysql用户
groupadd mysql
useradd -r -g mysql mysql
三、新建MySQL所须要的文件夹
mkdir -p /usr/local/mysql
mkdir -p /data/mysqldb
四、下载MySQL源代码包并解压
能够事先从http://dev.mysql.com/downloads/mirrors.html选择一个镜像去下载源代码文件。也能够直接在线下载。
wget ftp://mirror.csclub.uwaterloo.ca/mysql/Downloads/MySQL-5.6/mysql-5.6.25.tar.gz
(下载源能够自己设置)
tar -zxv -f mysql-5.6.25.tar.gz
cd mysql-5.6.25
五、编译安装MySQL
从mysql5.5起。mysql源代码安装開始使用cmake了,设置源代码编译配置脚本。
进入解压好的mysql文件夹运行
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
注:如要又一次执行配置,须要删除CMakeCache.txt文件(rm CMakeCache.txt)
接着执行命令
make
make instal
附编译參数简单介绍:
-DCMAKE_INSTALL_PREFIX=dir_name 设置mysql安装文件夹
-DMYSQL_UNIX_ADDR=file_name 设置监听套接字路径,这必须是一个绝对路径名。
默觉得/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name 设置server的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包括同意的字符集名称列表。
-DDEFAULT_COLLATION=collation_name 设置server的排序规则。
下面是存储引擎选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到server中。并不须要明白地安装。静态编译一个存储引擎到server,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name 设置mysql数据库文件文件夹
-DMYSQL_TCP_PORT=port_num 设置mysqlserver监听端口,默觉得3306
-DENABLE_DOWNLOADS=bool 是否要下载可选的文件。比如,启用此选项(设置为1),cmake将下载谷歌所使用的測试套件执行单元測试。
六、改动mysql文件夹全部者和组
改动mysql安装文件夹
cd /usr/local/mysql
chown -R mysql:mysql .
改动mysql数据库文件文件夹
cd /data/mysqldb
chown -R mysql:mysql .
七、初始化mysql数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
八、复制mysql服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
九、复制mysql服务启动脚本及增加PATH路径
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
vim /etc/profile
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
source /etc/profile
十、启动mysql服务并增加开机自启动(可选这个步骤,以后能够自己启动的)
service mysql start
chkconfig --level 35 mysql on
能够查看mysql是否启动
netstat -tulnp | grep 3306
mysql -u root -p
第一次登录password为空,假设能登陆上,则成功安装。
设置用户root的password
mysqladmin -u root password '123456'
再次进行登录測试
mysql -uroot -p123456
參考文献:
Linux(centos)下mysql编译安装教程的更多相关文章
- Linux CentOS下MySQL的安装配置之浅谈
前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- CentOS下Eclipse的安装教程
CentOS下Eclipse的安装教程 据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都 ...
- PCL库在Linux环境下的编译安装
PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...
- Linux Centos下软件的安装与卸载方法
转载于: http://blog.csdn.net/zolalad/article/details/11368879 Linux下软件的安装与卸载 第一章 linux下安装软件,如何知道软件安 ...
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
- GO语言教程(一)Linux( Centos)下Go的安装, 以及HelloWorld
写在前面: 目前,Go语言已经发布了1.5的版本,已经有不少Go语言相关的书籍和教程了,但是看了一些后,觉得还是应该自己写一套Go语言的教程.给广大学习Go语言的朋友多一种选择.因为,咱写的教程,向来 ...
- Linux系统CentOS下mysql的安装日志
今天自己捣鼓了一下,在linux系统CentOs6.5下使用源码方式安装和配置mysql,这里记录一下步骤. a) 下载mysql,source版本.Mysql-5.6.20.tar.gz b) 安装 ...
- Linux下Java开发环境搭建—CentOS下Eclipse的安装教程
据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...
随机推荐
- Centos7不修改默认交换分区下添加交换分区
交换分区介绍 Linux系统中的交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用. 当系统需要更多的内存资源而物理内存已经充满,内存中不活跃的页就会被移动到交换分区上. 交换分区位于硬 ...
- HDU 4928 Series 2
有了题解以后这题就成了一个模拟题.不过写了好久才把它写对…… Sad #include <iostream> #include <cstdio> #include <cs ...
- EXPIREAT
EXPIREAT key timestamp EXPIREAT 的作用和EXPIRE类似,都用于为key设置生存时间. 不同在于EXPIREAT命令接受都时间参数是UNIX时间戳(unix times ...
- 【Henu ACM Round#18 F】Arthur and Walls
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 考虑,为什么一个连通块里面的空格没有变成一个矩形? 如果不是形成矩形的话. 肯定是因为某个2x2的单张方形里面. 只有一个角是墙.其 ...
- 洛谷——P3368 【模板】树状数组 2
https://www.luogu.org/problem/show?pid=3368 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入 ...
- ArcGIS api for javascript——地理处理任务-服务区域任务
描述 本例展示了如何发送一些输入值到ArcGIS Server上的GIS模型并获得结果反馈给web应用.本例中,模型计算自在地图上单击点起始的驱动时间多边形. 例如,这个分析类型可用于想要知道多少人生 ...
- 深入理解maven及应用(一):生命周期和插件
在项目里用了快一年的maven了,近期突然发现maven项目在eclipse中build时很慢,由于经经常使用clean install命令来build项目,也没有管那么多,但近期实在受不了乌龟一样的 ...
- 10.ng-class-even与ng-class-odd
转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS模板使你可以把该作用域内的数据直接绑定到所显示的HTML元素 ng-class-even与n ...
- BZOJ 3629 约数和定理+搜索
呃呃 看到了这道题 没有任何思路-- 百度了一发题解 说要用约数和定理 就查了一发 http://baike.so.com/doc/7207502-7432191.html (不会的可以先学习一下) ...
- MessageFormat
MessageFormat mf = new MessageFormat("{0,number,#.##}, {0,number,#.#}"); Object[] objs = { ...