编译安装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 ...
随机推荐
- MOOC下载器的文档整理
1.背景 最近学习中国大学MOOC的课程,想把课程的pdf下载下来本地保存并浏览.工具: Setup-Mooc-3.4.0.exe 但是,却发现所下载的文档在不同的文件夹里,浏览很不方便.于是 ...
- DDD:架构思想的旧瓶新酒
DDD.DSL 和 DCI DDD 概念最早提出于 2004 年,作为一种软件开发的指导思想,DDD 对软件开发带来了诸多可能与方向,张晓龙认为 DDD 为软件开发带来的好处主要有以下几点: 首先,最 ...
- pymysql的增删改查、索引
1.pymysql增删改 一定要有commit() import pymysql username = input("请输入用户名:") pwd = input("请输入 ...
- Selenium(十五)cookie
有时候我们需要验证浏览器中是否存在某个 cookie,因为基于真实的 cookie 的测试是无法通过集成测试完成的.WebDriver 提供了操作 Cookie 的相关方法可以读取.添加和删除 coo ...
- Oracle LOB 大对象处理
LOB类型列主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据. 一.LOB数据类型分类 1.按存储数据的类型分: ①字符类型: CLOB:存储大量 单字节 字符数据. N ...
- hive优化,控制map、reduce数量
一.调整hive作业中的map数 1.通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为1 ...
- mongod 命令常用参数 mongod常用命令参数大全
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作.输入help可以看到基本操作命令,只是MongoDB没有创建数据库的命令,但有类似的命令 mongod.exe ...
- Linux 内存分配失败(关于overcommit_memory)
1.问题现象和分析:测试时发现当系统中空闲内存还有很多时,就报内存分配失败了,所有进程都报内存分配失败:sshd@localhost:/var/log>free tota ...
- CF620E New Year Tree 线段树+dfs序+bitset
线段树维护 dfs 序是显然的. 暴力建 60 个线段树太慢,于是用 bitset 优化就好了 ~ code: #include <bits/stdc++.h> #define M 63 ...
- hdu 6183
给出二维平面$opt1.$ 对点 $(x, y)$ 增减颜色 $c$,$opt2.$ 询问矩形 $(1, y_1), (x, y_2)$ 内出现过的颜色种数$x, y <= 1e6, c < ...