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

yizhihongxing

在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日

相关文章

  • Nginx中防止SQL注入攻击的相关配置介绍

    Nginx虽然是一款Web服务器,但它也能够作为反向代理和负载均衡器,因此有必要对其进行SQL注入攻击防范措施的配置。 防止SQL注入攻击的配置介绍 1. 开启Nginx的ModSecurity模块 ModSecurity是一个Web应用程序防火墙(WAF)模块,能够检测和防御SQL注入攻击等Web攻击。在Nginx中,要使用ModSecurity模块,需要…

    database 2023年5月22日
    00
  • SQL 计算同一组或分区的行之间的差

    计算同一组或分区的行之间的差,可以使用SQL中的窗口函数(Window Function)来实现。 窗口函数是一种特殊的SQL函数,可以在SELECT语句中对数据子集进行窗口化操作。窗口函数可以在不改变查询结果集的情况下,对查询结果进行比较、排序、聚合等操作。 常用的窗口函数有:ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE()…

    database 2023年3月27日
    00
  • MySQL主从同步、读写分离配置步骤

    下面是MySQL主从同步、读写分离配置步骤的详细攻略。 一、MySQL主从同步 1. 配置主服务器 在主服务器上,需要配置MySQL的主从同步参数,具体步骤如下: 编辑配置文件/etc/my.cnf,添加如下内容: [mysqld] log-bin=mysql-bin # 开启binlog日志 server-id=1 # 主服务器的唯一ID 重启MySQL服…

    database 2023年5月18日
    00
  • MySQL数据库设计概念及多表查询和事物操作

    MySQL数据库设计概念 MySQL是一种常用的开源关系型数据库管理系统。MySQL采用了客户端-服务器体系结构,支持多线程、事务、字符集、视图、存储过程等特性,支持多种操作系统,如Linux、Windows等。在使用MySQL进行数据库设计时,需要掌握一些基本概念。 数据库设计基本原则 在进行数据库设计时,需要采用以下基本原则: 单一职责原则:一个表只负责…

    database 2023年5月19日
    00
  • mysql的内连接,左连接和右链接查询详解

    MySQL的内连接、左连接和右连接查询详解 内连接(Inner Join) 内连接也叫等值连接,表示两张表中字段相等的数据行才会被查询出来。内连接常用的语法格式是: SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 示…

    database 2023年5月22日
    00
  • 解决Redis中数据不一致问题

    redis系列之数据库与缓存数据一致性解决方案                                                          数据库与缓存读写模式策略写完数据库后是否需要马上更新缓存还是直接删除缓存? (1)、如果写数据库的值与更新到缓存值是一样的,不需要经过任何的计算,可以马上更新缓存,但是如果对于那种写数据频繁而读数据…

    Redis 2023年4月12日
    00
  • 如何使用Python连接和操作SQLite数据库?

    在Python中,可以使用sqlite3模块连接和操作SQLite数据库。以下是Python使用sqlite3模块连接和操作SQLite数据库的完整攻略,包括连接SQLite数据库、表、插入数据、查询数据、更新数据、删除数据等操作。 连接SQLite数据库 在Python中,可以使用sqlite3模块连接SQLite。以下是连接SQLite数据库的基本语法:…

    python 2023年5月12日
    00
  • SQL Server2019数据库之简单子查询的具有方法

    SQL Server 2019是一种商业关系型数据库管理系统,它支持使用SQL(Structured Query Language)进行数据管理和数据查询。在SQL Server 2019中,子查询被广泛地用于处理复杂的数据操作。本文将会详细讲解如何使用简单的子查询来处理常见的数据查询问题,并提供两个使用示例。 什么是子查询? 子查询是一条SQL语句,它被嵌…

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