mysql5.7.10 源码编译安装记录 (centos6.4)【转】

news/2024/7/7 7:25:30

一、准备工作

1.1 卸载系统自带mysql

查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载

rpm -qa | grep mysql    //查看系统自带mysql
yum -y remove mysql-*   //卸载mysql
rpm -e --nodeps mysql-5.1.73-3.el6_5.x86_64 //卸载mysql

 

1.2 卸载系统自带boost,并安装boost_1_59_0

mysql 5.7 依赖于boost_1_59_0或更高版本, 查看系统是否自带boost, 如果有就卸载了

rpm -qa | grep boost    //查看系统自带boost
yum -y remove boost-*   //卸载boost
rpm -e --nodeps boost-filesystem-1.41.0-11.el6_1.2.x86_64 //卸载boost

 

安装 boost_1_59_0 , cmake 编译时加上 -DWITH_BOOST=/usr/local/boost

tar -zxvf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost

 

1.3 安装依赖包

yum install gcc gcc-c++ ncurses ncurses-devel bison libgcrypt perl

 

1.4 安装cmake

tar -zxvf cmake-3.4.1.tar.gz
./configure
make && make install

 

1.5 下载 mysql 源码包 mysql-5.7.10.tar.gz

通过wget下载

wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz

windows中下载需要的源码包,通过文件传输工具rzsz上传

yum install lrzsz //安装rzsz
rz //上传

1.6 创建用户组mysql和用户mysql

检查系统是否已经有mysql用户,如果没有则创建

cat /etc/group | grep mysql     //查看是否存在mysql用户组
cat /etc/passwd | grep mysql    //查看是否存在mysql用户
groupadd mysql                  //创建用户组
useradd -r -g mysql mysql       //创建用户

 

1.7 创建mysql目录和数据库目录,并赋予用户mysql权限

创建mysql目录和数据库目录

mkdir /usr/local/mysql          //创建mysql目录
mkdir /usr/local/mysql/data     //创建数据库目录
mkdir /usr/local/mysql/log      //创建日志文件目录
chown -R mysql:mysql /usr/local/mysql   //赋予权限

 

二、编译、安装、配置mysql

2.1 编译、安装mysql

编译时带上一些参数如安装根目录、数据库目录、编码、端口号、默认存储引擎等 
编译的时候记得带上 -DWITH_BOOST=/usr/local/boost

tar -zxvf mysql-5.7.10.tar.gz
cd mysql-5.7.10
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DENABLE_DOWNLOADS=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost

make && make install

 

配置选项参考地址, [http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html][1]

2.2 编译出错, 重新编译前要删除编译失败的文件

重新编译时,需要清除旧的对象文件和缓存信息

make clean
rm -f CMakeCache.txt

 

2.3 配置my.cnf

my.cnf文件可以根据自己的需求选择合适的配置, 网上有很多, 可以参考, 这里不在详细说明。记得把 my.cnf 放到 /etc 目录下

mv my.cnf /etc/my.cnf

 

2.4 初始化系统数据表

自 mysql5.7 开始,初始化系统表不再使用 mysql_install_db 工具, 而是使用mysqld --initialize-insecure --user=mysql , 其中 --initialize 表示默认生成一个安全的密码,--initialize-insecure 表示不生成密码, 密码为空

cd /usr/local/mysql
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

 

2.5 添加环境变量, 注册成系统服务

添加环境变量, 在 PATH 中添加参数 :/usr/local/mysql/bin:/usr/local/mysql/lib

vim /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
source /root/.bash_profile

 

注册成系统服务

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
service mysqld start/stop/restart/status

 

首次登陆设置密码

  • 直接使用 mysqladmin 设置密码
mysqladmin -uroot -p password 123456    //登录时候

 

  • 或者在使用空密码登录mysql后,在mysql客户端执行下面修改密码命令
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');   //登录之后

 

查看进程

netstat -lntp | grep 3306
pkill mysqld

转自

mysql5.7.10 源码编译安装记录 (centos6.4) - hpy1165331898的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/hpy1165331898/article/details/50557022

 

http://www.niftyadmin.cn/n/1980858.html

相关文章

诸葛io的技术架构图_诸葛io携手飞书,助力企业数字化转型升级

近日,北京诸葛云游科技有限公司(以下简称诸葛公司)与飞书正式达成战略合作,推动产品层面的融合, 积极探索创新协作的商业模式,双方将在业务合作,客户资源,渠道增值等多方面开展深度合作,携手推进…

【51NOD-0】1011 最大公约数GCD

【算法】欧几里德算法 #include<cstdio> int gcd(int a,int b) {return b0?a:gcd(b,a%b);} int main() {int a,b;scanf("%d%d",&a,&b);printf("%d",gcd(a,b));return 0; } View Code转载于:https://www.cnblogs.com/onioncyc/p/6910087.htm…

ue4 函数和宏区别_深入理解UE4:源码分析之类型反射

文章末尾是我精心制作反射系统大概流程图&#xff0c;其中体现了反射过程的的收集、注册以及重点变量的赋值&#xff0c;还有重点函数的流程。tips&#xff1a;UClass中WithinClass的意义是&#xff0c;该类实例的Outer必须是什么类型。具体到各个类中&#xff0c;其限定方式的…

什么是HADOOP、产生背景、在大数据、云计算中的位置和关系、国内外HADOOP应用案例介绍、就业方向、生态圈以及各组成部分的简介(学习资料中的文档材料)...

1. HADOOP背景介绍 1&#xff0e; 1.1 什么是HADOOP 1. HADOOP是apache旗下的一套开源软件平台 2. HADOOP提供的功能&#xff1a;利用服务器集群&#xff0c;根据用户的自定义业务逻辑&#xff0c;对海量数据进行分布式处理 3. HADOOP的核心组件有 A. …

dosubmit 成功不成功_宁愿不成功,也要成长!

著名的电视节目主持人杨澜说过&#xff1a;“宁愿不成功&#xff0c;也要成长。”一个人只有成长了&#xff0c;才有成功的可能。成功只是多年努力瞬间的一次爆发。一个人可能永远躺在成功的功劳簿上&#xff0c;享受美好&#xff0c;更大的进步还需要不断坚持不懈、持之以恒的…

工业机器人打磨抛光编程员工资_打磨抛光机器人调研报告

打磨抛光机器人调研报告第一章&#xff1a;打磨抛光机器人概述1、定义&#xff1a;打磨抛光机器人是现代工业机器人众多种类的一种&#xff0c;用于替代传统人工进行工件的打磨抛光工作。2、用途&#xff1a;主要用于工件的表面打磨&#xff0c;棱角去毛刺&#xff0c;焊缝打磨…

Requirejs定义模块

模块可以很好的定义作用域来避免全局名称空间污染&#xff0c;它可以显示的定义出函数间的依赖关系&#xff0c;而不需要引用全局变量。RequireJS可以加载多个不同的模块&#xff0c;虽然加载的顺序不一样&#xff0c;但是能保证依赖的顺序是正确的。1. 当模块中只有键值对时&…

Spring Boot工程支持HTTP和HTTPS,HTTP重定向HTTPS

本文试图以通俗易通的方式介绍Https的工作原理&#xff0c;不纠结具体的术语&#xff0c;不考证严格的流程。我相信弄懂了原理之后&#xff0c;到了具体操作和实现的时候&#xff0c;方向就不会错&#xff0c;然后条条大路通罗马。阅读文本需要提前大致了解对称加密、非对称加密…