Linux 下编译安装MySQL
最近在研究Mysql,当然先要把它安装在机器上才行呀。记录下操作,加深记忆,也供以后参考。
准备工作:
Linux版本:Redhat Linux 6.4
Mysql版本(安装包):mysql-5.6.16.tar.gz
采取的安装方式:采用Cmake进行编译安装,所以先要安装Cmake才行。
Cmake版本(安装包):cmake-2.8.12.2.tar.gz
1、安装Cmake
- Cmake的安装所需要的依赖关系,我就采用yum安装,直接搞定了:
yum -y install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel libxml2-devel curl-devel libicu libicu-devel libmcrypt libmcrypt-devel libmhash libmhash-devel
- 编译安装Cmake
# tar zxvf cmake-2.8.12.2.tar.gz (解压安装包)
# cd cmake-2.8.12.2 (进入解压后安装包)
# ./configure (configure下)
# make && make install (make 下)
结束后,用 cmake -version 命查看是否安装成功啦。

2、安装Mysql
试想一下,等mysql安装成功后,由哪个用户来启动Mysql呢?以root吗,万一Mysql被攻破了,root用户岂不是很不安全。从一本书中看到一句话:Mysql服务器在Unix下启动的两个要求是:1、以root以外的其它用户来启动。2、以固定的一个用户来启动mysql。所以,我们先要创建mysql用户跟用户组,且将安装目录的所属用户用户组也更改为mysql。
- 创建所需要的文件目录
# mkdir -pv /usr/local/mysql/data (准备将Mysql安装在这个目录下)
- 创建所需要用户与用户组
# groupadd mysql (创建用mysql用户组)
# useradd -g mysql -s /sbin/nologin mysql (创建mysql用户,且属于mysql用户组,shell为nologin)
# chown mysql.mysql /usr/local/mysql/data -R (将刚创建的安装目录的所属用户跟用户组更改为mysql)
# mkdir -pv /etc/mysql
# chown mysql.mysql /etc/mysql -R
- 安装目录,用户,用户组创建完完毕后,开始mysql的正式安装。
# tar zxvf mysql-5.6.16.tar.gz (解压安装包)
# cd mysql-5.6.16 (进入安装包)
- 接下来进行Cmake编译
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci -DWITH_READLINE=1 -DSYSCONFDIR=/etc/mysql -DMYSQL_UNIX_ADDR=/etc/mysql/mysqld.sock -DWITH_EMBEDDED_SERVER=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_DEBUG=0
# make && make install (安装)
等待安装。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- 安装完后,进行mysql的各种配置
# cp support-files/my-default.cnf /etc/my.cnf (将 mysql-5.6.16安装包里的my-default.cnf文件覆盖 /etc/my.cnf)
# cp support-files/mysql.server /etc/init.d/mysqld (将 mysql-5.6.16安装包里的mysql.server 复制到/etc/init.d/mysqld,mysql.server是启动脚本,用于以后启动Mysql)
# chmod +x /etc/init.d/mysqld (增加mysqld文件的可执行权限)
# chkconfig --add mysqld
# chkconfig mysqld on (设置开机时自动启动)
- 配置/etc/my.cnf文件
在[mysqld]中添加:
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
user = mysql
tmpdir = /tmp
保存退出
#初始化数据库
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#手动启动MySQL
# /etc/init.d/mysqld start
- 添加环境变量
# vi /etc/profile (打开profile文件)
在里面添加:PATH=$PATH:/usr/local/mysql/bin
保存退出
# source /etc/profile (重读profile文件)
- 进入mysql ,修改root密码
# mysql -uroot (这时的root还没有密码,直接回车就可进入)
mysql> set password = password("**********"); (红色处为要设置的密码)
打完收工!
Linux 下编译安装MySQL的更多相关文章
- Linux下编译安装MySQL
一.环境准备yum install -y ncurses-devel libaio-develyum install -y cmake makeuseradd -s /sbin/nologin -M ...
- CentOS Linux下编译安装MySQL
本文参考张宴的Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成.所有操作命令都在CentOS 6.4 64位操作系统下实践 ...
- linux下 编译安装Mysql
正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm ...
- Linux下编译安装mysql数据库服务
以下是用putty工具远程登录到服务器,在命令行下面操作: Cmake工具下载地址:http://ftp.lfs-matrix.net/pub/blfs/conglomeration/cmake/ M ...
- Linux下yum安装MySQL
写这篇文章的原因是:在刚开始使用Linux操作系统时想要搭建LAMP环境,于是开始在Google和百度上各种寻找资料,碰到了不是很多的问题后,我决定写这篇文章总结一下在Linux下yum安装MySQL ...
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- linux下如何安装mysql和redis
linux下如何安装mysql(mariadb) linux下如何安装软件? 1. yum安装软件也得注意,一个是配置yum源 1.我们当前的是阿里云的yum源(下载速度特别快) 通过 yum ins ...
- linux下编译安装vim7.4并安装clang_complete插件
linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...
- linux下编译安装curl
linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...
随机推荐
- Android Binder
http://blog.csdn.net/luoshengyang/article/details/6618363 Android进程间通信(IPC)机制Binder简要介绍和学习计划
- 更新App版本的流程
上班一年了还没有自己打包上传过APP,周五下班时项目经理手把手教了我一遍,我大致把流程在这里回顾一下: 1.首先要将svn上的代码拷贝一份到分支上,用终端操作:svn cp https://192.1 ...
- java数据结构_附12_图、顶点和边的定义(双链存储)
图--双链式存储结构 顶点 和 边 的定义 1.Vertex.java 2.Edge.java 3.AbstractGraph.java 1. public class Vertex {private ...
- Android --AsyncTask异步任务(一)
1.为什么要异步任务 Android单线程模式 耗时操作放在非主线程(UI线程)中执行 我们都知道Android是单线程模式,只有主线程才能对UI操作,简称UI线程.当然这样的好处是:保证UI的稳定性 ...
- matlab初学之句柄
文章出处:http://www.cnblogs.com/CBDoctor/archive/2012/04/06/2434072.html 在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每 ...
- php web系统多域名登录失败解决方法
下面只是简单的逻辑结构,对于正式的系统需要做具体的处理. 这里需要注意的是:加解密一定需要做安全验证.但是这个方法也不够完美,两个站点必须有相同一级域名:另外这种完全基于cookie的方式,安全性不够 ...
- nodejs常用模块之url
统一资源定位符(url)充当http服务器用来处理来自客户端的请求的一个地址标签.它为把一个请求发到正确的服务器的特定端口上,并访问合适的数据提供了所有需要的信息.
- spring注解说明之Spring2.5 注解介绍(3.0通用)
spring注解说明之Spring2.5 注解介绍(3.0通用) 注册注解处理器 方式一:bean <bean class="org.springframework.beans.fac ...
- MFC绘制图片闪烁详解
用MFC如何高效地绘图 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题. 而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案. MFC的 ...
- Cordova学习(一) 环境搭建
一.什么是cordova Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等. Cordova还提供了一组统一的Java ...