CentOS 编译源码安装MySQL-5.6.16
mysql5.6.16的安装和之前的5.5、5.1有些不同,编译的时候不再使用./configure来进行了,使用了cmake命令来进行编译项目。
1、准备编译环境
yum
-y installmakegcc-c++
cmake bison-devel ncurses-devel gcc \ autoconf
automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*
2、下载mysql
wget
http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gztar -zxvf
mysql-5.6.16.tar.gzcd mysql-5.6.16
3、检查环境
检查是否安装有mysql,CentOS6.4采用最小安装(minimal)的时候默认有带mysql,检查并协助mysql:
rpm -qa | grep mysql
卸载:yum -y remove mysql名称
3.1、groupadd mysql #添加mysql组
3.2、useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
3.3、mkdir -p /data/mysql #创建mysql数据库存放目录
3.4、chown -R mysql:mysql /data/mysql#设置mysql数据库目录权限
3.5、mkdir -p /usr/local/mysql #创建mysql安装目录
4、编译源码
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLE_DOWNLOADS=1
Googlemock was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source.
– If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://example.com:80
- 使用参数-DENABLE_DOWNLOADS=1 自动下载。
- 有网络限制,设置http代理
export。环境变量
http_proxy=http://example.com:80http_proxy也为
curl 等其他工具所用。尽管 yum 可以识别大写或小写的 http_proxy,但curl 要求环境变量的名称是小写。
如果这个cmake这个步骤有出现问题,解决后重新再cmake一次。如果输出类似这样,那么就好了。
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
------------------------------ |
接着编译源码
|
1
|
make&& makeinstall |
配置mysql数据库
1、cd /usr/local/src/mysql-5.0.41
cp ./support-files/my-huge.cnf /etc/my.cnf #拷贝配置文件
vi /etc/my.cnf#编辑配置文件,在[mysqld]部分添加
datadir = /data/mysql #添加mysql数据库路径
./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把mysql加入系统启动
chmod 755 /etc/init.d/mysqld #增加执行权限
2、chkconfig mysqld on #加入开机启动
vi /etc/rc.d/init.d/mysqld #编辑添加mysql安装路径和数据库存放目录
basedir = /usr/local/mysql
datadir = /data/mysql
3、vi /etc/profile #把mysql服务加入系统环境变量:最后添加下面这行
export PATH = $PATH:/usr/local/mysql/bin
shutdown -r now #需要重新启动,等系统重启后继续下面操作
4、mysql_secure_installation#设置mysql密码,根据提示输入y 回车输入2次密码
或者直接修改密码 /usr/local/mysql/bin/mysqladmin -u root -p password "123456" #修改密码
service mysqld restart #重启服务
到此,mysql安装完成!
5、如果想在任一目录下输入mysql -u root -p 进入mysql命令行,需要在每个用户变量里配置。
linux在每个用户下面都有个.bash_profile的用户变量文件,将mysql的bin目录路径添加到该用户变量的PATH后面。如:
vi /root/.bash_profile
添加如下:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
此时在任一目录下输入mysql -u root -p密码 就能进入mysql命令了。
6、mysql的驱动存放位置:jdk主目录/jre/lib/ext/
CentOS 编译源码安装MySQL-5.6.16的更多相关文章
- Centos7服务器中通过编译源码安装MySQL
基于在Centos7服务器上使用 yum 安装MySQL5.7到默认路径 在修改文件存储位置的时候,折腾了一番没有将成功将datadir修改为我想要的位置 我决定再尝试一下通过编译源码来自定义安装: ...
- CentOS下源码安装MySQL
一.创建mysql用户与组,相关目录 useradd mysql -s /sbin/nologin mkdir /usr/local/mysql chown -R mysql.mysql mkdir ...
- centos 7 源码安装 mysql 5.6
下载 mysql 安装包 $ wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.44.tar.gz # or $ curl -O ht ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- CentOS 6.4 源码安装MySQL 5.6
1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
- CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一.准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util ...
- 源码安装mysql,及主从同步
源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-.tar.gz cd cmake- ./configure #CM ...
随机推荐
- c# lock的误解
一直以为lock 一个实例就可以了,没想到实例的类型还是有区别的 static object lockObjStatic = new object(); object lockObj = new ob ...
- python学习笔记3-函数的递归
递归就是指自己函数的自我调用 #递归 #自己调用自己,函数的循环 def test1(): num = int(input('please enter a number:')) if num%2==0 ...
- React基础笔记
参考文章: http://www.ruanyifeng.com/blog/2015/03/react.html https://segmentfault.com/a/1190000002767365 ...
- Spring Data JPA原生SQL查询
package com.test.cms.dao.repository;import org.springframework.stereotype.Repository;import javax.pe ...
- zookeeper图形工具——zkui
虽然zookeeper安装包提供了客户端工具zkcli,但是命令特别少 ,每次想看看里面的节点信息特别费劲. 幸好有图形工具——zkui,https://github.com/echoma/zkui, ...
- Android 5.0 最应该实现的8个期望
毫无疑问,Android 5 将是令人兴奋的操作系统,因为 Android4.0 至 4.4 版本之间并没有显著的差异,显然谷歌会在 5.0 版本中进行一些较大幅度的革新.那么,代号为“柠檬芝士蛋糕” ...
- Ubuntu 通过 Live CD 更新grub恢复引导Boot Menu
工作需要更换主板,但是不想重装电脑. 怎么办呢? 其实并不需要重装电脑,只需要回复boot menu即可. 1. 首先用u盘制作一个ubuntu的live CD(请自行百度),然后通过u盘启动, 选择 ...
- Git 管理本地代码【转】
转自:http://www.cnblogs.com/JessonChan/archive/2011/03/16/1986570.html 以前用SVN,不过没有用出感情来:倒是用出不少怨恨:由于没有很 ...
- shell 指令分析nginx 日志qps
实时分析 tail -f points.api.speiyou.cn.access.log|awk 'BEGIN{key="";cnt=0}{if(key==$5){cnt++}e ...
- Java线程的阻塞
线程的阻塞 线程的优先级 线程总是存在优先级,优先级范围在1~10之间,线程默认优先级是5(数值越大优先级越高): JVM线程调度程序是基于优先级的抢先调度机制: 在大多数情况下,当前运行的线程优先级 ...