MySQL编译安装教程

一、环境准备

在开始编译安装MySQL之前,需要先准备好一些依赖环境:

1、GCC编译器和make命令(如果已经安装则可以跳过这一步)

sudo apt-get update
sudo apt-get install build-essential

2、cmake工具

sudo apt-get install cmake

3、ncurses库

sudo apt-get install libncurses5-dev libncursesw5-dev

二、下载MySQL源码

从MySQL官网上下载所需版本的源码,这里以最新版本为例:

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.26.tar.gz

三、解压源码并进入目录

tar -zxvf mysql-8.0.26.tar.gz
cd mysql-8.0.26

四、开始编译安装

1. 创建一个新的用户组和用户

在编译之前,我们需要创建一个新的MySQL用户组和MySQL用户,并将编译后的MySQL安装在该用户下,这么做可以增强安全性。

创建MySQL用户组

sudo groupadd mysql

创建MySQL用户

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

2. 配置编译选项

进入MySQL源代码目录中的cmake配置目录,并执行以下命令配置编译选项:

cd cmake
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=/usr/local

这里解释下每个选项的含义:

-DCMAKE_INSTALL_PREFIX:指定MySQL安装路径

-DMYSQL_DATADIR:指定MySQL数据存放路径

-DSYSCONFDIR:指定MySQL配置文件存放路径

-DWITH_MYISAM_STORAGE_ENGINE:支持MyISAM存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE:支持InnoDB存储引擎

-DWITH_MEMORY_STORAGE_ENGINE:支持Memory存储引擎

-DWITH_READLINE:使用readline库,提高命令行交互的效率

-DENABLED_LOCAL_INFILE:支持从本地读取数据

-DDEFAULT_CHARSET:设置默认字符集

-DDEFAULT_COLLATION:设置默认校对规则

-DWITH_BOOST:指定boost库路径(如果需要支持InnoDB memcached接口,需要指定)

3. 编译并安装

在MySQL源码目录中执行以下命令进行编译,这里使用make命令:

make

编译完成后,执行以下命令进行安装:

sudo make install

五、启动MySQL服务

1. 初始化数据

在安装目录下的bin目录中执行以下命令来初始化数据:

sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql

初始化完成后,会输出一个随机生成的密码,需要记录下来,后面登录MySQL需要使用该密码。

2. 启动服务

执行以下命令来启动MySQL服务:

sudo systemctl start mysqld

如果需要系统重启后自动启动MySQL服务,可以执行以下命令:

sudo systemctl enable mysqld

3. 配置MySQL安全

安装完成后,需要进行一些基本的安全配置,包括修改root用户密码、移除test数据库等。

执行以下命令进入MySQL安全配置向导:

sudo /usr/local/mysql/bin/mysql_secure_installation

按照提示依次进行操作即可。

六、连接MySQL

1. 登录MySQL

在终端中执行以下命令登录到MySQL:

mysql -u root -p

回车后输入刚才记录下来的密码即可登录。

2. 修改root用户密码

执行以下SQL命令来修改root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

这里的“新密码”为自己设定的新密码。

3. 创建新用户

执行以下SQL命令来创建一个新用户:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

这里的“username”为新用户名,“password”为新用户密码。

4. 授权

执行以下SQL命令来授权新用户访问某个数据库:

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';

这里的“dbname”为数据库名,“username”为新用户名。

5. 退出MySQL

执行以下命令退出MySQL:

exit;

七、总结

到这里,MySQL的编译安装就完成了。

原创文章,作者:UYUAK,如若转载,请注明出处:https://www.506064.com/n/372501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
UYUAKUYUAK
上一篇 2025-04-24 06:40
下一篇 2025-04-24 06:40

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • MQTT使用教程

    MQTT是一种轻量级的消息传输协议,适用于物联网领域中的设备与云端、设备与设备之间的数据传输。本文将介绍使用MQTT实现设备与云端数据传输的方法和注意事项。 一、准备工作 在使用M…

    编程 2025-04-29
  • Python3.6.5下载安装教程

    Python是一种面向对象、解释型计算机程序语言。它是一门动态语言,因为它不会对程序员提前声明变量类型,而是在变量第一次赋值时自动识别该变量的类型。 Python3.6.5是Pyt…

    编程 2025-04-29
  • Deepin系统分区设置教程

    本教程将会详细介绍Deepin系统如何进行分区设置,分享多种方式让您了解如何规划您的硬盘。 一、分区的基本知识 在进行Deepin系统分区设置之前,我们需要了解一些基本分区概念。 …

    编程 2025-04-29
  • 写代码新手教程

    本文将从语言选择、学习方法、编码规范以及常见问题解答等多个方面,为编程新手提供实用、简明的教程。 一、语言选择 作为编程新手,选择一门编程语言是很关键的一步。以下是几个有代表性的编…

    编程 2025-04-29
  • Qt雷达探测教程

    本文主要介绍如何使用Qt开发雷达探测程序,并展示一个简单的雷达探测示例。 一、环境准备 在开始本教程之前,需要确保你的开发环境已经安装Qt和Qt Creator。如果没有安装,可以…

    编程 2025-04-29
  • 猿编程python免费全套教程400集

    想要学习Python编程吗?猿编程python免费全套教程400集是一个不错的选择!下面我们来详细了解一下这个教程。 一、课程内容 猿编程python免费全套教程400集包含了从P…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • Python烟花教程

    Python烟花代码在近年来越来越受到人们的欢迎,因为它可以让我们在终端里玩烟花,不仅具有视觉美感,还可以通过代码实现动画和音效。本教程将详细介绍Python烟花代码的实现原理和模…

    编程 2025-04-29
  • 使用Snare服务收集日志:完整教程

    本教程将介绍如何使用Snare服务收集Windows服务器上的日志,并将其发送到远程服务器进行集中管理。 一、安装和配置Snare 1、下载Snare安装程序并安装。 https:…

    编程 2025-04-29

发表回复

登录后才能评论