在CentOS7系统上编译安装MySQL 5.7.13步骤详解

在CentOS7系统上编译安装MySQL 5.7.13步骤详解

MySQL是一种常见的关系型数据库管理系统,本文将解释如何在CentOS7系统上使用源代码编译方式安装MySQL 5.7.13。

步骤

1. 下载MySQL安装包

首先,我们需要从MySQL官网下载MySQL 5.7的源代码包。

# 下载MySQL源代码安装包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.13.tar.gz

2. 解压MySQL安装包

解压缩下载的MySQL源代码包

#解压mysql源码包
tar -xzf mysql-5.7.13.tar.gz

3. 安装依赖包

在编译MySQL之前,必须安装一些必要的依赖项。

# 安装依赖包
yum install cmake make gcc-c++ bison-devel ncurses-devel -y

4. 创建MySQL安装目录

创建MySQL安装目录,并指定目录的属主和属组。

# 创建安装目录
mkdir /usr/local/mysql
# 设置目录所有者和组
chown -R mysql:mysql /usr/local/mysql/

5. 构建MySQL

创建MySQL构建目录,然后将MySQL源代码解压到此目录中。接着,进入该目录并运行以下命令来开始MySQL的构建:

# 创建构建目录
cd mysql-5.7.13
mkdir build
cd build

# 开始构建源码
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_DATADIR=/usr/local/mysql/data \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_PARTITION_STORAGE_ENGINE=1 \
 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DENABLE_DTRACE=0 \
 -DCMAKE_CXX_FLAGS="-fno-omit-frame-pointer" \
 -DENABLED_LOCAL_INFILE=1 \
 -DWITH_EMBEDDED_SERVER=1 \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci

# 将源代码编译为二进制文件
make
make install

6. 配置MySQL

在MySQL安装目录下创建一个my.cnf配置文件,然后将以下内容添加到该文件中:

[client]
socket=/tmp/mysql.sock

[mysqld]
# 以下内容可以根据需要自定义,但是必须包含这些核心选项。
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock

# 添加以下内容以支持UTF-8字符集。
character-set-server=utf8
collation-server=utf8_general_ci

7. 启动MySQL

启动MySQL服务,并设置开启自启。

# 启动MySQL
/usr/local/mysql/bin/mysqld_safe --user=mysql &
# 设置mysqld自启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig mysqld on

8. 建立MySQL数据

使用以下命令,登录MySQL:

/usr/local/mysql/bin/mysql -u root -p

在MySQL客户端中执行以下SQL命令,建立MySQL指定的“test”数据库,并将其名为“example_db”,并添加一个名称为“example_user”的用户,该用户将拥有该数据库的完全访问权限。

-- 创建名为example_db的数据库
CREATE DATABASE example_db;

-- 为该数据库添加example_user用户,并赋予该用户完全访问权限
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'%' IDENTIFIED BY 'password';

9. 测试

至此,MySQL安装和配置已经完成。我们现在可以使用以下命令来测试MySQL:

# 以example_user用户身份连接到example_db数据库
/usr/local/mysql/bin/mysql -u example_user -p example_db

示例

  • 示例1:使用source导入SQL脚本文件

我们可以使用以下命令将SQL脚本加载到MySQL客户端中:

```bash
# 以example_user用户身份连接到example_db数据库
/usr/local/mysql/bin/mysql -u example_user -p example_db

# 使用source命令载入SQL脚本
source /tmp/example_db.sql
```

  • 示例2:仅显示名称和版本

我们可以使用以下命令来查看MySQL的版本:

bash
# 查看MySQL版本
/usr/local/mysql/bin/mysql -V

以上就是在CentOS 7系统上编译安装MySQL 5.7.13的步骤详解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在CentOS7系统上编译安装MySQL 5.7.13步骤详解 - Python技术站

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

相关文章

  • spring boot项目application.properties文件存放及使用介绍

    介绍 application.properties是SpringBoot项目中常用的一种配置文件,可以用来定义项目的各种属性值,其中包括:数据库链接信息、各种组件的属性以及其他一些自定义属性值等等。本文将对application.properties的存放位置、使用方法以及示例进行详细的介绍。 存放位置 在一个SpringBoot项目中,applicatio…

    database 2023年5月18日
    00
  • Teradata和Pig的区别

    Teradata和Pig都是用于大数据处理的工具,但它们的设计思路和使用方式有很大的不同。接下来我将详细讲解它们的区别,并且给出一些实例来说明。 Teradata Teradata是一个用于存储和处理大数据的关系型数据库管理系统。它使用的是MPP(Massively Parallel Processing,大规模并行处理)的架构,可以实现高速的数据查询和处理…

    database 2023年3月27日
    00
  • K8S prometheus operator监控工作原理介绍

    K8S Prometheus Operator是Kubernetes集群监控工具Prometheus的一个补充模块,它的主要作用是在Kubernetes集群中为Prometheus的监控对象(例如Pod、Service、Ingress等)自动提供配置和部署。 K8S Prometheus Operator的工作原理如下: 创建自定义资源定义(Custom R…

    database 2023年5月22日
    00
  • MySQL进阶查询、聚合查询和联合查询

    MySQL进阶查询、聚合查询和联合查询是MySQL数据库中非常重要的一部分,其能够对大数据进行高效的查询、分析和处理。以下是MySQL进阶查询、聚合查询和联合查询的完整攻略: MySQL进阶查询 MySQL进阶查询包括多表查询、子查询、联合查询等。在进行多表查询时,需要使用到MySQL的JOIN关键字,下面是一个示例: 示例1:多表查询 我们有两个表stud…

    database 2023年5月22日
    00
  • SQL 对含有字母和数字的列排序

    排序是SQL语句中经常使用的操作,当我们需要对包含字母和数字的列进行排序时,可以使用以下方法: 1.使用CAST函数转换数据类型 CAST函数可以将包含字母和数字的列强制转换为数字类型,然后进行排序。示例如下: SELECT column_name FROM table_name ORDER BY CAST(column_name AS UNSIGNED);…

    database 2023年3月27日
    00
  • 分享15个Mysql索引失效的场景

    当进行MySQL查询时,优秀的索引设计可以提高查询性能,但如果失效了,索引将不再发挥任何作用,反而会导致性能下降甚至全表扫描。接下来,我们将介绍MySQL索引失效的15种场景以及如何解决它们。 1. 对索引列做函数操作 如果在查询条件中对索引列使用了函数操作,如下所示: SELECT * FROM user WHERE YEAR(created_at) = …

    database 2023年5月22日
    00
  • MySQL和Redis的数据一致性问题

    MySQL和Redis都是常用的数据库软件,它们在业务开发中常常被同时使用。而在使用中,我们需要解决MySQL和Redis之间数据一致性的问题。这里提供一些解决数据一致性问题的完整攻略: 1、简述MySQL和Redis的数据一致性问题 MySQL和Redis作为两个不同的数据库,它们之间的数据交互是不可避免的。在实际开发中,我们可能需要在Redis中缓存部分…

    database 2023年5月22日
    00
  • MySQL与MSSQl使用While语句循环生成测试数据的代码

    生成测试数据是数据库开发中一个非常重要的环节,而使用循环语句可以极大地方便这一过程。在MySQL和MSSQL中,使用While语句可以实现循环生成测试数据。 MySQL中使用While语句循环生成测试数据的代码 1.创建表 首先需要创建一个测试表,代码如下: CREATE TABLE test_table ( id INT(11) NOT NULL AUTO…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部