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编程,就什么都体验下啦,好啦,废话不多说,直接开始啦. ...
随机推荐
- 今日SGU 5.29
sgu 299 题意:给你n个线段,然后问你能不能选出其中三个组成一个三角形,数字很大 收获:另一个大整数模板 那么考虑下为什么如果连续三个不可以的话,一定是不存在呢? 连续上个不合法的话,一定是 a ...
- Unity 给FindGameObjectsWithTag排序
GameObject[] patrol = GameObject.FindGameObjectsWithTag ("Player").OrderBy (g => g.tran ...
- C++ 输出缓冲区的管理
在C++中,每个I/O对象管理一个缓冲区,用于存储程序读写的数据.本文将对输出缓冲区的管理进行简单的讲解. 举一个简单的例子: myOs << "Please enter a v ...
- 用户向导左右滑动页面实现之ImageSwitcher
当第一次打开一个app时,通常有一个使用向导介绍本APK的基本功能和用法,这个向导是很重要的,方便用户能高速知道和适应该app如何用. 实现此使用向导有非常多种方法,比方用ImageSwitcher, ...
- hdu 3547 DIY Cube (Ploya定理)
DIY Cube Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total S ...
- sp_executesql invalid object name
https://stackoverflow.com/questions/10417126/dynamically-named-temp-table-returns-invalid-object-nam ...
- ssh 免密及加密远程脚本实现
windows_host文件路径:C:\Windows\System32\drivers\etc ssh-copy-id -i ~/.ssh/id-rsa.pub root@xxxxxxx 免密验证操 ...
- Redis之创建
redis配置文件信息 public sealed class RedisConfigInfo { /// <summary> /// 可写的Redis链接地址 /// format:ip ...
- 对Jscript操作注册表接口的一点不解
作者:朱金灿 来源:http://blog.csdn.net/clever101 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作.Wshshell ...
- Bundles软件
Bundle 称为:软件集 或 打包捆绑软件(软件束) Bundle就是一组包含了文件集,软件包或许可程序产品的软件,它们组合在一起为了实现一个特定的功能 快速来列出系统bundle软件 sm ...