Linux下二进制编译安装MySql centos7的教程

yizhihongxing

下面是“Linux下二进制编译安装MySql centos7的教程”的完整攻略。

一、前置条件

在开始安装之前,请确保以下条件都已满足:

  • 安装好了 CentOS 7 操作系统。
  • 拥有 root 权限。
  • 已经安装了 C 和 C++ 编译器。

二、安装所需软件包

在开始安装 MySQL 前,需要安装以下软件依赖包:

yum install -y wget cmake gcc gcc-c++ ncurses-devel perl perl-devel perl-Data-Dumper

三、下载 MySQL

下载 MySQL 二进制安装包:

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz

四、解压缩缩下载的安装包

解压缩下载的 MySQL 安装包:

tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz -C /opt/

五、创建 MySQL 用户组和用户

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

六、设置 MySQL 的安装目录的权限

chown -R mysql:mysql /opt/mysql-5.7.35-linux-glibc2.12-x86_64

七、开始 MySQL 的编译安装

  • 首先进入 MySQL 的安装目录:
cd /opt/mysql-5.7.35-linux-glibc2.12-x86_64
  • 使用以下命令进行编译安装:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql
make && make install

其中,-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定 MySQL 安装目录,-DMYSQL_DATADIR=/data/mysql/data 指定 MySQL 的数据目录,-DSYSCONFDIR=/etc/mysql 指定 MySQL 的配置文件目录。

八、初始化 MySQL 数据目录

进入 MySQL 安装目录的 bin 目录,运行以下命令来初始化 MySQL 数据目录:

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

这里要注意的是,初始化时要指定 --user--basedir--datadir 参数,不然可能会提示权限不足或找不到目录等错误。

九、安装 MySQL 服务

在 CentOS 系统中,使用 systemd 来启动和管理服务。使用以下命令安装 MySQL 服务:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
systemctl enable mysqld
systemctl start mysqld

十、配置 MySQL

编辑 /etc/my.cnf 文件,添加以下内容:

[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock

十一、连接 MySQL

使用以下命令连接 MySQL 数据库:

mysql -u root -p

这里要注意的是,初始时没有设置密码,所以直接输入回车即可。

连接成功后,可以设置 MySQL 的 root 用户的密码:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_password');

示例说明

示例一:安装 MySQL 时指定自定义的数据目录

假设用户想将 MySQL 的数据目录设置为 /data/mysql/data2,可以在步骤七的编译安装命令中,将 -DMYSQL_DATADIR=/data/mysql/data 修改为 -DMYSQL_DATADIR=/data/mysql/data2

示例二:编译安装 MySQL 的时候使用源码包而非二进制包

假设用户想使用 MySQL 的源码包编译安装,可以按照以下步骤操作:

  1. 下载 MySQL 源码包,解压缩:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.35.tar.gz
tar -zxvf mysql-5.7.35.tar.gz -C /opt/
  1. 进入 MySQL 的源码目录,进行编译安装:
cd /opt/mysql-5.7.35
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql
make && make install

这里需要注意的是,使用源码包进行编译安装时,需要先安装好 MySQL 所需的相关依赖包,而不是像二进制安装包一样,在安装前通过 yum 等命令安装好依赖包。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下二进制编译安装MySql centos7的教程 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL分区之HASH分区详解

    MySQL分区之HASH分区详解 什么是MySQL分区? MySQL分区(Partitioning)是指将一个大的表进行拆分,变成若干个小的独立表。每个小表都是独立的,具有自己的表结构和索引,可以存储在不同的物理位置上,使用不同的存储引擎。 MySQL分区可以提高大型表的查询速度和处理效率,缩短查询时间、加快数据的插入、更新、删除等操作。 Hash分区是什么…

    database 2023年5月22日
    00
  • MySQL中查询某一天, 某一月, 某一年的数据代码详解

    当我们需要查询某一天、某一月、某一年的数据时,MySQL提供了多种方法,下面就一一介绍。 查询某一天的数据 查询某一天的数据,我们需要用到MySQL内置的DATE函数和日期格式化符号%Y-%m-%d,查询语句的格式如下: SELECT * FROM table_name where DATE(column_name)=’yyyy-mm-dd’; 其中,tab…

    database 2023年5月22日
    00
  • 详解Django配置优化方法

    当我们在使用Django框架开发Web应用时,配置优化是非常重要的一环。 针对不同的应用场景,我们需要适时地进行Django配置的调优,以提高我们应用的性能、稳定性和安全性。本篇攻略将全面讲解Django配置优化的方法,以及具体的示例说明。 一、调试模式和部署模式切换 在开发阶段,我们通常使用调试模式完成代码编写、调试和测试。但是,在线上运行时,我们需要切换…

    database 2023年5月21日
    00
  • mysql计算时间差函数

    下面是关于MySQL计算时间差函数的完整攻略: 什么是MySQL计算时间差函数 MySQL计算时间差函数用于计算两个时间之间的差值。常用的函数有DATEDIFF、TIMESTAMPDIFF、TIME_TO_SEC、SEC_TO_TIME等。本文将以这几个函数为例,详细讲解它们的用法。 注:本文下面将使用如下两个日期进行演示: SET @date1 = ’20…

    database 2023年5月22日
    00
  • JavaScript中连接操作Oracle数据库实例

    连接操作Oracle数据库实例可以使用Node.js的包管理器npm(Node Package Manager)中的oracledb库。oracledb是由Oracle Corporation提供的官方Node.js驱动程序,它支持连接Oracle Database 11.2、12.1、12.2、18c和19c。接下来我们将详细介绍如何使用oracledb在…

    database 2023年5月21日
    00
  • Linux实现定时备份MySQL数据库并删除30天前的备份文件

    下面我就为您讲解如何在Linux系统中实现定时备份MySQL数据库并删除30天前的备份文件的完整攻略。 环境准备 系统:Ubuntu 18.04 MySQL版本:5.7.25 备份工具:mysqldump 备份MySQL数据库 安装mysqldump 首先需要安装mysqldump,mysqldump可用于备份MySQL数据库 sudo apt-get in…

    database 2023年5月22日
    00
  • Oracle误删除表数据后的数据恢复详解

    Oracle误删除表数据后的数据恢复详解 1. 背景介绍 在使用Oracle数据库的过程中,误删除表数据是一个常见的问题。为了避免数据丢失带来的损失,我们需要掌握相应的数据恢复技术。本文将对Oracle误删除表数据后的数据恢复进行详细介绍,并提供两个实例进行说明。 2. 数据恢复技术 在Oracle数据库中,数据恢复技术主要包括以下几种: 2.1 闪回技术 …

    database 2023年5月22日
    00
  • MongoDB数据类型详解

    MongoDB是一种文档数据库,可以存储和管理多种数据类型。在使用MongoDB时,一个常见的问题是如何选择和使用不同的数据类型。在本文中,我们将详细介绍MongoDB的数据类型,并结合代码示例,帮助您更好地理解MongoDB中数据类型的使用方法。 MongoDB数据类型分类 MongoDB主要有以下几种数据类型: 1.基本数据类型 String 字符串类型…

    MongoDB 2023年3月13日
    00
合作推广
合作推广
分享本页
返回顶部