1 安装环境

 1)清除以往mysql残留痕迹(新机不用)

yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my.conf
rm -rf /var/lib/mysql

 2)下载编译工具

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

2 创建mysql用户及mysql目录 并授权

useradd -s /bin/false -M -r mysql
mkdir -p /usr/local/{data,mysql,log}
chown -R mysql.mysql /usr/local/mysql

3 上传软件包并解压(可从官网上或各大开源软件镜像站直接下载)

#下为清华大学开源镜像站的下载链接
#https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-boost-5.7.30.tar.gz
tar xvf mysql-boost-5.7.30.tar.gz

4 预编译 编译 安装

#需先进入解压后的目录操作 可用 -C 指定解压目录
cd mysql-5.7.30/ #这里列出一些常用的预编译选项 可选择写入
#详细的预编译选项参见官网
#https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html cmake . -DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \      #安装目录
-DSYSCONFDIR=/etc \                   #配置文件存放(默认可以不安装配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \       #数据目录(含错误日志)
-DINSTALL_MANDIR=/usr/share/man \           #帮助文档
-DMYSQL_TCP_PORT=3306 \                 #默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \          #sock文件位置
-DDEFAULT_CHARSET=utf8 \                #默认字符集
-DEXTRA_CHARSETS=all \                 #扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \                   #上下查找历史命令
-DWITH_SSL=system \                   #使用私钥和证书登录
-DWITH_EMBEDDED_SERVER=1 \               #嵌入式数据库
-DENABLED_LOCAL_SERVER=1 \               #从本地导入数据
-DWITH_INNOBASE_STORAGE_ENGINE=1           #默认的存储引擎 支持外键
cmake . -DWITH_BOOST=boost/boost_1_59_0/ \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DINSTALL_MANDIR=/usr/share/man \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DEXTRA_CHARSETS=all \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_READLINE=1 \
> -DWITH_SSL=system \
> -DWITH_EMBEDDED_SERVER=1 \
> -DENABLED_LOCAL_SERVER=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1

 出现下图所示即表示预编译成功

 然后进行编译安装

#预编译完成后进行编译安装 此过程较缓慢 提升服务器配置可加快进度
make && make install

 出现下图所示即表示安装成功

 一般预编译不出现问题 编译安装也不会出现问题 所以重点在于预编译 这也是编译安装所有服务的难点

5 初始化

  初始化后会有系统给定的默认密码 由12位随机字符组成 需复制保存 后续需用这个密码登陆数据库

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

6 修改配置文件(/etc/my.cnf)

#将原有配置文件全删除 写入下列数据
#下列数据路径需与预编译安装时指定的目录一致
[mysqld]
basedir=/usr/local/mysql   #指定安装目录
datadir=/usr/local/mysql/data #指定数据存放目录
[client]
socket = /tmp/mysql.sock    #sock文件存放位置

7 启动服务(放入后台运行 不然要占一个终端 然后查看端口是否启动)

/usr/local/mysql/bin/mysqld_safe --user=mysql &

8 使用之前保存的密码直接登陆数据库或先修改数据库密码

#登录数据库
/usr/local/mysql/bin/mysql -uroot -p'password' #修改密码
/usr/local/mysql/bin/mysqladmin -uroot -p'oldpassword' password 'newpassword'

9 为mysql设置快捷命令

#建立符号链接
ln -s /usr/local/mysql/bin/* /usr/bin/

10 配置mysql服务管理工具(选做)

#将mysql交给service管理
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #将mysql交给chkconfig管理的开机启动中
chkconfig --add mysqld
chkconfig mysqld on

11 启停(生产环境启动服务使用 mysqld_safe,关闭服务使用 mysqladmin)

#关闭mysql服务
/etc/init.d/mysql stop
mysqladmin -uroot -p -S /var/lib/mysql/mysql.sock shutdown

#启动mysql服务
/etc/init.d/mysql start
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
mysqld --user=mysql &

Mysql--编译安装5.7版本的更多相关文章

  1. rpm安装MySQL5.5后配置,在centos5上;mysql编译安装在centos6.5上;

    [1] 没有/etc/my.cnf: rpm包安装的MySQL是不会安装/etc/my.cnf文件的:处理:cp /usr/share/mysql/my-huge.cnf /etc/my.cnf [2 ...

  2. Linux(centos)下mysql编译安装教程

    Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...

  3. 2、mysql编译安装

    2.1前言: 此文档介绍的是cmake编译安装的方式: 二进制的安装方式在linux运维_集群_01中有详细的安装说明(已经编译完成,进行初始操作即可) 初始化操作时需要对编译好的mysql进行一下备 ...

  4. mysql 编译安装

    mysql 编译安装方式:   ```cd /home/oldboy/tools```                创建 目录          if not have   then     mkd ...

  5. centos mysql 编译安装

    centos mysql 编译安装 1.安装 创建MySQL用户 sudo useradd mysql 下载MySQL的源码包,我们这里使用的时5.5.18 安装依赖 sudo yum -y inst ...

  6. Nginx PHP MySql 编译安装

    以CentOS5.6为平台编译安装.确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: auto ...

  7. Mysql编译安装及优化

    采取编译安装的方法,其好处为:编译安装与平台无关,安装的MySQL目录独立,维护起来方便,而且拥有更好的性能. 环境:CentOS release 6.9 (Final)  x86_64 1)下载my ...

  8. mysql编译安装(详细)(转载)

    mysql编译安装(详细)   一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从 ...

  9. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

  10. CentOS6编译安装gcc高版本

    编译安装gcc高版本 因CentOS中gcc版本仅有4.4,故编译安装gcc高版本. 安装依赖库(如果你已安装过gcc低版本,可跳过这步) yum install glibc-static libst ...

随机推荐

  1. Johnson 最短路算法

    Johnson 算法 全源最短路径求解其实是单源最短路径的推广,求解单源最短路径的两种算法时间复杂度分别为: Dijkstra 单源最短路径算法:时间复杂度为 \(O(E + VlogV)\),要求权 ...

  2. 【scipy 基础】--最优化

    SciPy库的optimize模块主要用于执行各种优化任务.优化是寻找特定函数的最小值或最大值的过程,通常用于机器学习.数据分析.工程和其他领域. scipy.optimize提供了多种优化算法,包括 ...

  3. 比较Spring Security6.X 和 Spring Security 5.X的不同

    项目使用了SpringBoot3 ,因此 SpringSecurity也相应进行了升级 版本由5.4.5升级到了6.1.5 写法上发生了很大的变化,最显著的变化之一就是对 WebSecurityCon ...

  4. C语言求100以内的全部素数,每行输出10个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。

    /* 开发者:慢蜗牛 开发时间:2020.5.28 程序功能:求100以内的素数 */ #include<stdio.h> int prime(int m); int prime(int ...

  5. .net core下优秀的日志框架使用解析,附源代码

    在 .NET Core 中,日志是一个非常重要的组件,它可以帮助我们记录应用程序的运行情况,以便在出现问题时进行排查.在本文中,我们将介绍五个优秀的 .NET Core 日志框架,它们分别是 Seri ...

  6. 两道题浅析PHP反序列化逃逸

    两道题浅析PHP反序列化逃逸 一.介绍 反序列化逃逸的出现是因为php反序列化函数在进行反序列化操作时,并不会审核字符串中的内容,所以我们可以操纵属性值,使得反序列化提前结束. 反序列化逃逸题一般都是 ...

  7. [AI]大模型稳定角色扮演形成“自我认知”

    引言 自我身份认知是人类重要的认知能力之一,它决定着个体在社会中的定位以及与他人的互动方式.了解自我身份认知形成的机理对心理学和认知科学研究具有重要意义.传统上,人类自我认知一直被视为一个个体内在形成 ...

  8. [ABC238G] Cubic?

    Problem Statement Given a sequence $A$ of $N$ numbers, answer the following $Q$ questions. In the $i ...

  9. 华企盾DSC为平面设计公司提供数据防泄漏解决方案

    华企盾DSC作为一款专业的数据防泄漏解决方案,为平面设计公司提供多方位而有效的安全保障.以下是该解决方案为平面设计公司所带来的主要优势: 图纸加密保护: 超安全的加密技术确保设计公司的图纸和敏感信息得 ...

  10. WeLM微信自研NLP大规模语言模型

    2022年9月份微信AI推出自研NLP大规模语言模型WeLM ,该模型是一个尺寸合理的中文模型,能够在零样本以及少样本的情境下完成包多语言任务在内的多种NLP任务.openai的chatgpt是在20 ...