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编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...
随机推荐
- Python内存分配器(如何产生一个对象的过程)
目录 内存分配器 Python分配器分层 第零层--通用的基础分配器 第一层--低级内存分配器 内存结构 arena pool new arena usable_arenas和unused_arena ...
- Test-我喜欢LInux
测试发帖流程 哈哈 习惯一下先.
- OpenJDK源码研究笔记(八)-详细解析如何读取Java字节码文件(.class)
在上一篇OpenJDK源码研究笔记(七)–Java字节码文件(.class)的结构中,我们大致了解了Java字节码文件的结构. 本篇详细地介绍了如何读取.class文件的大部分细节. 1.构造文件 ...
- shiro整合thymeleaf
1.引入依赖 <!--thymeleaf中使用shiro--> <dependency> <groupId>com.github.theborakompanioni ...
- Java基础学习总结(10)——static关键字
一.static关键字 原来一个类里面的成员变量,每new一个对象,这个对象就有一份自己的成员变量,因为这些成员变量都不是静态成员变量.对于static成员变量来说,这个成员变量只有一份,而且这一份是 ...
- 第六课 Struts的视图组件
Struts框架的视图负责为客户提供动态网页内容. Struts的视图主要由JSP网页构成.此外还包含客户化的标签和ActionForm Bean.这些组件提供了 对国际化.接收用户输入的表单数据.表 ...
- Effective C++ 条款13
以对象管理资源 资源的种类非常多,动态分配的内存.文件描写叙述器.相互排斥锁.图像界面中画刷.数据库连接.网络socket等. 资源通常是有限的.当你不用时,必须释放.不然就会造成资源浪费.更严重的情 ...
- poj--1637--Sightseeing tour(网络流,最大流判断混合图是否存在欧拉图)
Sightseeing tour Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64u Sub ...
- quartz-misfire 错失、补偿执行
调度(scheduleJob)或恢复调度(resumeTrigger,resumeJob)后不同的misfire对应的处理规则 misfire产生的条件是:到了该触发执行时上一个执行还未完成,且线程池 ...
- Perl初学笔记
标量数据 标量:数字和字符串. 数字:Perl不存在整形,全部是double类型.整形常量会被自动转换为浮点型. Perl数字字面量(直接量):+-和小数点是非必须的,e代表10的多少次方.例如:-1 ...