编译安装MySQL5.6
安装必需的工具
比如cmake、gcc、g++、git
CentOS使用下面的命令:
yum install cmake gcc g++ git
Ubuntu使用下面的命令:
apt-get install cmake gcc g++ git
或者
#centos
yum groupinstall "Development Tools" #ubuntu
apt-get install -y build-essential
安装ncurses
CentOS使用下面的命令:
yum install ncurses-devel
Ubuntu使用下面的命令:
apt-get install libncurses5-dev
安装openssl和libssl_dev
CentOS使用下面的命令:
yum install openssl libssl_dev
Ubuntu使用下面的命令:
apt-get install openssl libssl_dev
下载mysql源码
cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz
tar -zxf mysql-5.6.44.tar.gz
cd mysql-5.6.44/
编译配置
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DWITH_SSL=yes \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
编译安装
make && make install
考虑到mysql的make操作需要很长时间,如果是多核处理器,建议使用多核同时进行编译:
# 开启4个job进行make操作
make -j 4 # 编译完成后进行安装
make install
常见问题的解决方案
是我在安装mysql的时候,经常出现的错误,以及相关解决方案。
拷贝相关配置文件
#进入到安装目录
cd /usr/local/mysql/ #创建mysql用户和用户组
useradd mysql #将安装目录的所属用户组和用户改为mysql
chown -R mysql:mysql /usr/local/mysql/ #改变data目录的读写权限
chmod 764 -R /usr/local/mysql/data/ #拷贝mysql配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #添加mysql到init.d中,使得可以通过service mysqld start|stop|restart来管理mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
修改配置文件
vi /etc/my.cnf #修改配置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
#server_id = .....
#socket = .....
#编辑完之后,保存并退出
初始化并启动数据库
#初始化数据库,--user表示使用前面的mysql用户
/usr/local/mysql/scripts/mysql_install_db --user=mysql #启动数据库
service mysqld start #查看数据库是否启动
lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 23551 mysql 10u IPv6 167754 0t0 TCP *:mysql (LISTEN)
添加mysql/bin到全局变量PATH中
#编辑~/.bash_profile
#在PATH后面增加/usr/local/mysql/bin
#比如之前是PATH=$PATH:$HOME/bin:/usr/local/node/bin
#那么此时在最后面追加 PATH=$PATH:$HOME/bin:/usr/local/node/bin:/usr/local/mysql/bin
export PATH #保存并退出 source ~/.bash_profile
登录到MySQL
#初次登录数据库时,并没有为root用户设置密码,即密码为空
mysql -uroot -p
修改mysql的root用户密码
#将root用户的密码改为123456
mysqladmin -u root password "123456" #使用新密码登录
mysql -h localhost -uroot -p123456
编译安装MySQL5.6的更多相关文章
- CentOS6.3 编译安装LAMP(3):编译安装 MySQL5.5.25
所需源码包: /usr/local/src/MySQL-5.5.25/cmake-2.8.8.tar.gz /usr/local/src/MySQL-5.5.25/mysql-5.5.25.tar.g ...
- 基于cmake编译安装MySQL-5.5
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...
- centos6.5环境源码编译安装mysql5.6.34
centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...
- Ubuntu14.04编译安装mysql5.6.26
Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...
- centos6.6下编译安装mysql5.6之后启动失败:Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
今天在编译安装mysql5.6时候出现Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysq ...
- centos7编译安装MySQL5.7.9
title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...
- centos6.7下 编译安装MySQL5.7
centos6.7下编译安装MySQL5.7 准备工作 #-----依赖包及MySQL和boost安装包----- #yum包安装: shell> yum -y install gcc-c++ ...
- centos6.7编译安装mysql5.7.17
centos6.7编译安装mysql5.7.17 2017-03-24 09:57:15 提示:mysql5.7.17和之前5.56以前的版本安装不一样,需要用cmake 另外,看本文档的mysql编 ...
- centos7.2环境编译安装mysql5.5.48
一.安装cmake编译工具 跨平台编译器 查看是否已经安装了gcc # rpm -qa | grep gcc # yum install -y gcc-c++ # yum install -y cma ...
- 源码编译安装mysql5.5.33
源码编译安装mysql5.5.33 一.安装cmake编译工具 跨平台编译器 # yum install -y gcc* # yum install -y cmake 解决依赖关系 # yum ins ...
随机推荐
- Goodbye Microservices: From 100s of problem children to 1 superstar
https://segment.com/blog/goodbye-microservices/ Unless you’ve been living under a rock, you probably ...
- springboot中用来进行查看错误日志的logback文件
<?xml version="1.0" encoding="UTF-8"?> <!-- 从高到地低 OFF . FATAL . ERROR . ...
- 前端学习笔记--CSS入门
1.css概述: 2.css语法: 3.css添加方法: 用单独的文件存储css样式的优点: 优先级: h3得到的样式是内嵌样式覆盖了外部样式. 4.css选择器 标签选择器: 类别选择器: ID选择 ...
- 原生JS实现九宫格拼图
实现这个案例,需要考虑到鼠标的拖拽效果(onmousedown/onmousemove/mouseup) 拖拽分解: 按下鼠标---->移动鼠标----->松开鼠标 1.给目标元素添加on ...
- mysql查询重复数据
SELECT * FROM oa_user ) ORDER BY UserName oa_user表名,UserName需要查重复的字段名
- learning scala PartialFunction
Partial函数的定义 scala> val isVeryTasty: PartialFunction[String, String] = { case "Glazed Donut& ...
- php 多维数组,根据某个特定字段过滤重复值
//假如 数据是这样的$arr=[ [ 'goods_name'=>'xxx', 'goods_id'=>111,],[ 'goods_name'=>'xxx', 'goods_id ...
- Java 8的Time包常用API
Date.Canlender.SimpleDateFormat类在新的Time包面前几乎没有优势 日期LocalDate,时间LocalTime,日期时间LocalDateTime. 时区ZoneId ...
- tez 0.9.0 配置
官网: https://tez.apache.org/releases/0.9.0/tez-api-javadocs/configs/TezConfiguration.html
- python3 系统监控脚本(CPU,memory,网络,disk等)
#!/usr/bin/env python3 #create at 2018-11-30 'this is a system monitor scripts' __author__="yjt ...