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

下面是“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日

相关文章

  • SQL 计算中位数

    SQL 计算中位数 中位数是指将一组数据按从小到大(或从大到小)的顺序排列,位于中间位置的数值,即能将该组数据均分成两部分的数值。 通常有两种方式计算中位数: 对于数量为奇数的数据,中位数就是中间那个数; 对于数量为偶数的数据,中位数是中间两个数的平均值。 以下是SQL计算中位数的攻略: 方法一:使用SQL函数计算中位数 SQL函数包含一些针对特定数据类型的…

    database 2023年3月27日
    00
  • 解决sql server2008注册表写入失败,vs2013核心功能安装失败

    问题描述: 在安装Sql Server 2008和VS2013时,可能会出现“注册表写入失败”的问题,这将导致安装失败。本文将提供详细的攻略,以解决此问题。 解决方法: Step 1:重置注册表权限 打开命令行窗口(以管理员身份运行),输入以下命令并按回车键执行: secedit /configure /cfg %windir%\inf\defltbase.…

    database 2023年5月21日
    00
  • RDBMS和IBM DB2的区别

    RDBMS是关系型数据库管理系统的简称,它以关系数据模型为基础,使用表格来存储和管理数据。而IBM DB2是企业级的关系型数据库管理系统,是IBM公司开发的一种高性能、可扩展的数据库软件。 以下是RDBMS和IBM DB2的区别及实例说明: RDBMS 数据组织结构 RDBMS使用表格来存储和管理数据。表格由行和列组成,每个表格包含多个字段或属性,每个字段或…

    database 2023年3月27日
    00
  • MySql获取当前时间并转换成字符串的实现

    下面是MySQL获取当前时间并转换成字符串的实现攻略。 方法一:使用DATE_FORMAT函数 MySQL中可以使用DATE_FORMAT函数将日期时间类型转换成指定格式的字符串。以下是使用DATE_FORMAT函数获取当前时间并转换成字符串的语句: SELECT DATE_FORMAT(NOW(), ‘%Y-%m-%d %H:%i:%s’); 执行此语句,…

    database 2023年5月22日
    00
  • 在Linux环境下采用压缩包方式安装JDK 13的方法

    以下是在Linux环境下采用压缩包方式安装JDK 13的攻略: 步骤一:下载JDK 13压缩包 首先需要在Java官网下载适合您Linux系统的JDK 13压缩包。可以通过以下方式进行下载: 打开JDK 13官网下载页面,找到相应的压缩包下载链接,选择tar.gz格式的文件,根据自己的系统位数进行下载。 如果不方便访问Java官网,也可以使用wget命令进行…

    database 2023年5月22日
    00
  • JDBC连接mysql乱码异常问题处理总结

    JDBC连接MySQL乱码异常问题处理总结 问题描述 在使用JDBC连接MySQL数据库时,可能会出现乱码的异常情况,如下所示: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect string value: ‘\xCE\xB1\xCE\xBC\xCF\x80…’ for colu…

    database 2023年5月21日
    00
  • SQL和NoSQL之间的区别总结

    下面是关于SQL和NoSQL之间的区别总结的攻略。 SQL和NoSQL的区别 数据库类型的区别 SQL是关系型数据库管理系统(RDMS)的代表,它将数据存储到表格中,确保所有信息都具有相关性,同时支持结构化查询语言(SQL)来操作这些数据。 而NoSQL则不是以表格的形式来存储数据,它使用非关系型数据库,通常支持类似于JSON(JavaScript Obje…

    database 2023年5月22日
    00
  • 怎么添加一个mysql用户并给予权限

    这篇“怎么添加一个mysql用户并给予权限”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么添加一个mysql用户并给予权限”文章吧。 一、新建一个用户 1、创建用户命令: CREATE USER ‘username‘@’host’ IDENT…

    MySQL 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部