Mysql 数据库源码编译安装

MySQL是一个关系型数据库管理系统,关系型数据库是将数据保存在不同的表中,而非将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

环境准备:``

安装环境 Centos 7.9

内核版本 Linux 3.10.0-1160.e17.x86_64 x86_64

数据库版本信息 mysql5.7.34

推荐:硬盘至少大于20G,内存至少3G,SWAP3G(内存空间不足在编译安装时会导致编译安装失败)

安装准备:

1.检查卸载默认

rpm –qa|grep mariadb

rpm -e --nodeps 现有版本

列出当前mysql rpm 安装包

rpm –qa|grep mysql

卸载命令如上述

一、下载、编译安装

编译安装流程:

1.下载关联依赖

yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxmlncurses-devel ncurses libgcrypt libtool* cmake openssl openssl-devel bisonbison-devel perl-Data-Dumper boost boost-doc boost-devel

yum install ncurses-devel (字符终端处理库)

yum install bison (linux 下c/c++语法分析器)

2.创建用户、用户组及安装目录

groupadd mysql

useradd -p mysql -s /sbin/nologin mysql

mkdir -pv /usr/local/mysql/conf 创建2级目录/mysql/conf

chown -R mysql:mysql /usr/local/mysql

mkdir -pv /data/mysql_data 创建数据库存放数据目录

chown -R mysql:mysql /data/mysql_data

3.下载相应源码包

cd /usr/local/src/tools/ (选定文件下载目录,自选)

进入官网找到下载对应版本信息()



找到对应版本后可直接下载到本机(服务器无网状态推荐)

从物理机上获取mysql源码文件(推荐使用第三方远程工具上传到服务器指定目录)

服务器能连接外网可直接使用命令下载,如下:

wget 对应版本

4.解压文件夹到指定位置

cd /usr/local/src/tools/ (自定义存放文件位置)

tar –zxvf mysql-boost-5.7.34.tar.gz –C /usr/local/mysql/

解压完成后进入解压后的文件目录

cd /usr/local/mysql/

cd mysql-boost-5.7.34

5.编译

cmake

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 指定安装目录

-DMYSQL_DATADIR=/data/mysql_data \ 数据库存放目录

-DSYSCONFDIR=/usr/local/mysql/conf \

-DMYSQL_UNIX_ADDR=/data/mysql_data/mysql.sock

-DSYSTEMD_PID_DIR=/usr/local/mysql

-DMYSQL_USER=mysql

-DWITH_SYSTEMD=1

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1 \ innodb 存储引擎

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_MEMORY_STORAGE_ENGINE=1

-DWITH_READLINE=1

-DMYSQL_TCP_PORT=3306

-DENABLED_LOCAL_INFILE=1

-DENABLE_DOWNLOADS=1

-DEXTRA_CHARSETS=all \ 安装所有扩展字符集

-DDEFAULT_CHARSET=utf8mb4 \ 使用 utf8 字符

-DDEFAULT_COLLATION=utf8mb4_general_ci \ 校检字符

-DWITH_DEBUG=0

-DMYSQL_MAINTAINER_MODE=0

-DWITH_SSL:STRING=system

-DWITH_ZLIB:STRING=bundled

-DDOWNLOAD_BOOST=1

-DWITH_BOOST=./boost

如在编译过程中出现错误信息需删除当前目录下cMakCache.txt文件,解决错误信息后重新编译

以下显示表示编译完成

6.编译安装

make -j$(cat /proc/cpuinfo| grep "processor"| wc -l) && make install (会显示的当前编译进度时间较长)

-j参数后数字为CPU核数,可以通过使用cat /proc/ cpuinfo | grep processor | wc –l 进行查看使用该命令可提高编译速度

注: 建议直接使用make && make install 编译安装(多次编译错误运行此条)

编译成功显示如下

7.配置启动文件

cd ./mysql-5.7.30

cp ./scripts/mysqld.service /usr/lib/systemd/system

vi /usr/lib/systemd/system/mysqld.service

无需修改

8.添加环境变量

cat > /etc/profile.d/mysql.sh << EOF

PATH=/usr/local/mysql/bin:$PATH

export PATH

EOF

source /etc/profile 运行该命令使其生效

9.初始化数据库

参数说明,之前版本在/usr/local/mysql/script目录下的初始化程序mysql_install_db本版本已移除,转而使用mysqld替代。

-–initialize 会生成一个随机密码(保存在~/.mysql_secret),而 -–initialize-insecure 不会生成密码。

-–datadir目标目录下不能有数据文件。

初始化命令

rm -fr /data/mysql_data/*

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

10.启动服务

systemctl enable mysqld.service 设置mysql开机自启动

systemctl daemon-reload 重新加载配置

systemctl start mysqld.service 启动mysql数据库

systemctl status mysqld.service 检查当前数据库状态

查看当前进程状态

ps –ef|grep mysql

二、检查登录数据库

安装完成后运行命令可检查数据库版本

/usr/local/mysql/bin/mysql --version

查看mysql安装完成后目录

登录数据库、初始无密码

三、卸载源码安装

停用服务

systemctl stop mysqld.service

先执行此,才能禁用服务

systemctl daemon-reload

在开机时禁用一个服务

systemctl disable mysqld.service

删除环境变量文件

rm /etc/profile.d/mysql.sh

删除systemd启动文件mysqld.service

rm /usr/lib/systemd/system/mysqld.service

删除安装目录

rm -rf /usr/local/mysql

删除数据文件(可选)

rm -rf /data/mysql_data/*

Mysql5.7.34 数据库源码编译安装的更多相关文章

  1. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

  2. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

  3. 源码编译安装mysql5.5.33

    源码编译安装mysql5.5.33 一.安装cmake编译工具 跨平台编译器 # yum install -y gcc* # yum install -y cmake 解决依赖关系 # yum ins ...

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

    一.准备工作 1.1 卸载系统自带mysql 查看系统是否自带MySQL, 如果有就卸载了, 卸载方式有两种yum, rpm, 这里通过yum卸载 rpm -qa | grep mysql //查看系 ...

  5. CentOS7.5源码编译安装mysql5.7.29

    #查看系统版本 [root@ctos3 ~]# cat /etc/redhat-release CentOS Linux release (Core) #下载源码包,需要注意的是mysql5.7 编译 ...

  6. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境 什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/ ...

  7. zabbix源码编译安装以及添加第一台host监控

    基础准备 硬件需求 数据库需求   软件需求 其他软件需求 安装 安装方式 source code 编译好的二进制包 rpm或者deb 源码编译安装部署zabbix以及附件 前提准备 最小化安装操作系 ...

  8. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  9. 总结源码编译安装mysql

    最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...

随机推荐

  1. Spring Boot配置Filter

    此博客是学习Spring Boot过程中记录的,一来为了加深自己的理解,二来也希望这篇博客能帮到有需要的朋友.同时如果有错误,希望各位不吝指教 一.通过注入Bean的方式配置Filter: 注意:此方 ...

  2. SpringBoot集成logback后访问日志端点

    问题描述 使用SpringBootAdmin(sba)监控Springboot服务时,配置了logback日志框架,按天滚动生成日志,此时在sba的日志监控页面出现404,如下图所示: 解决方案 查看 ...

  3. Reactive Spring实战 -- 响应式MySql交互

    本文与大家探讨Spring中如何实现MySql响应式交互. Spring Data R2DBC项目是Spring提供的数据库响应式编程框架. R2DBC是Reactive Relational Dat ...

  4. Spring:Spring-IOC容器、DI依赖注入简介

    Spring容器到底是什么? 从概念上讲:Spring 容器是 Spring 框架的核心,是用来管理对象的.容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁. 从具象化 ...

  5. java设计模式(9):模板方法模式(TemplateMethod)

    一,定义:模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 二,类图: 三,通过小例子讲解: 这个模式一般用在 ...

  6. 在 Docker 上配置 Oracle

    地址:https://github.com/wnameless/docker-oracle-xe-11g .直接 git clone 到本地就行了 ##安装 docker shell 下: docke ...

  7. python 两种排序方法 sort() sorted()

    python中有两种排序方法,list内置sort()方法或者python内置的全局sorted()方法 区别为: sort()方法对list排序会修改list本身,不会返回新list.sort()只 ...

  8. bugku Crypto 下半部分wp

    1. 百度托马斯这个人居然还发明了一种轮转的加密法,发现原理是,他将很多行乱序的26个字母,插到一根柱子上,参考糖葫芦的样子,可以旋转每一行,设置自己要发送的明文后,向对方发送乱码的一列,对方只要将这 ...

  9. 【分布式】CAP理论及其应用

    CAP Theorem CAP 指的就是 "consistency 一致性","availability 可用性" "partition-tolera ...

  10. 记录APP 启动ACTIVITITY

    a.启动待测apkb.开启日志输出:adb logcat>D:/log.txt c.关闭日志输出:ctrl+cd.查看日志找寻: Displayed com.mm.android.hsy/.ui ...