mysql源码安装脚本分享

下面是“mysql源码安装脚本分享”的完整攻略:

前言

本教程将介绍如何使用 mysql 源码安装脚本在 Linux 系统上安装 MySQL。使用源码安装的好处是可以更好地针对个人需求进行定制与管理,并且可以更加深入的学习 MySQL 数据库的底层原理。

环境准备

在开始操作之前,我们需要先准备好以下环境:

  • 操作系统:Linux(Ubuntu/Debian/CentOS 等)
  • GCC 编译器:gcc/g++/make 等
  • C/C++ 开发环境:cmake
  • MySQL 源码:从官方网站下载最新版本

源码安装步骤

步骤一:下载源码并解压

从 MySQL 官网上下载最新版本的源码包(tar.gz)并将其解压到指定目录中:

# 下载源码包并解压
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28.tar.gz
tar -zxvf mysql-8.0.28.tar.gz

步骤二:配置 MySQL

进入解压后的 MySQL 源码目录,进行配置:

# 进入 MySQL 目录
cd mysql-8.0.28

# 生成 Makefile 文件
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

这里我们使用 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 参数指定 MySQL 要被安装到 /usr/local/mysql 目录下。

步骤三:编译安装 MySQL

源码配置完成后,我们可以使用 make 命令进行编译和安装:

# 编译 MySQL
make

# 安装 MySQL
sudo make install

步骤四:初始化 MySQL

MySQL 安装完成后,我们需要进行初始化设置:

# 进入 MySQL 安装目录
cd /usr/local/mysql

# 初始化 mysql 数据库(设置 root 密码等)
sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# 设置 MySQL 权限
sudo chown -R mysql:mysql /usr/local/mysql/data
sudo chgrp -R mysql /usr/local/mysql/.
sudo scripts/mysql_secure_installation

scripts/mysql_install_db 命令用于初始化 mysql 数据库,我们同时需要设置 --basedir 参数为 MySQL 源码所在目录,以及 --datadir 参数为 mysql 数据库存储目录。

步骤五:启动 MySQL

MySQL 安装初始化完成后,执行以下命令启动 mysql 服务:

# 启动 mysql 服务
sudo systemctl start mysql

步骤六:验证 MySQL

执行以下命令检查 mysql 服务是否成功启动:

# 检查 mysql 状态
sudo systemctl status mysql

如果 mysql 服务正常运行,则我们可以通过 mysql 命令行工具进行登录:

mysql -u root -p

在默认的安装设置下,我们需要输入我们之前设置的 root 密码才能成功进入并操作 MySQL 数据库。

示例

下面是两个 mysql 源码安装的示例:

示例一:Ubuntu 系统上安装 MySQL

# 首先更新软件包
sudo apt-get update

# 安装必要的软件包
sudo apt-get install -y build-essential cmake libncurses5-dev libssl-dev libaio-dev

# 下载并解压 MySQL 源码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28.tar.gz
tar -zxvf mysql-8.0.28.tar.gz

# 进入 MySQL 源码目录,并对其进行配置
cd mysql-8.0.28
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

# 编译并安装 MySQL
make && sudo make install

# 初始化 MySQL 数据库,设置 root 密码等
cd /usr/local/mysql
sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
sudo scripts/mysql_secure_installation

# 启动 MySQL 服务,检查服务状态
sudo systemctl start mysql
sudo systemctl status mysql

# 登录 MySQL 并进行操作
mysql -u root -p

示例二:CentOS 系统上安装 MySQL

# 首先更新软件包
sudo yum update

# 安装必要的软件包
sudo yum install -y gcc gcc-c++ cmake ncurses-devel openssl-devel libaio-devel

# 下载并解压 MySQL 源码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28.tar.gz
tar -zxvf mysql-8.0.28.tar.gz

# 进入 MySQL 源码目录,并对其进行配置
cd mysql-8.0.28
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

# 编译并安装 MySQL
make && sudo make install

# 初始化 MySQL 数据库,设置 root 密码等
cd /usr/local/mysql
sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
sudo scripts/mysql_secure_installation

# 启动 MySQL 服务,检查服务状态
sudo systemctl start mysqld
sudo systemctl status mysqld

# 登录 MySQL 并进行操作
mysql -u root -p

结束语

至此,我们已经成功安装了 MySQL 数据库,可以进行各种应用部署和数据存储操作了。MySQL 源码安装的好处是可以更好地针对个人需求进行定制和管理,并且可以更加深入地学习 MySQL 数据库的底层原理。如果你有任何问题或反馈,请在评论区留言,我们会在第一时间解决。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql源码安装脚本分享 - Python技术站

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

相关文章

  • 一文详解SQL 中的三值逻辑

    一文详解SQL中的三值逻辑 什么是三值逻辑 在SQL中,我们经常需要进行逻辑运算,例如AND、OR、NOT等。然而,在SQL中,逻辑运算并不是双值的,而是三值的。除了True和False以外,还有一个Unknown的值。 Unknown的含义 未知值代表了这个值是否满足指定的条件是不确定的,未知的原因可能是由于数据不完整、数据格式错误或其他原因导致的。所以,…

    database 2023年5月22日
    00
  • 浅析mysql交互式连接&非交互式连接

    浅析MySQL交互式连接&非交互式连接 什么是MySQL连接? 在MySQL中,连接是指客户端与服务器之间建立通信通道所需要的一些参数和状态。在连接建立后,客户端就可以发送命令给服务器,服务器会接收并处理这些命令,并把结果返回给客户端。因此,连接可以被看作是通信的桥梁,MySQL的每一个操作都要依靠连接来完成。 什么是交互式连接? 交互式连接是指My…

    database 2023年5月22日
    00
  • Apache 解决80端口占用问题

    当我们在使用Apache搭建网站时,常常会遇到80端口占用问题,这时我们只需要通过以下步骤解决: 简介 Apache是一款常见的HTTP服务器软件,它默认监听80端口来提供HTTP服务。但是,在Windows系统下,因为其他应用程序已经占用了80端口,或者我们自己已经使用80端口,这时我们需要对Apache进行一些设置,使其监听其他端口提供HTTP服务。 解…

    database 2023年5月22日
    00
  • MySQL的CASE WHEN语句的几个使用实例

    MySQL的CASE WHEN语句是在查询时进行条件判断和赋值的工具。它可以让我们根据不同的条件进行求值,并根据其结果分支执行不同的操作。以下是几个使用实例。 示例1: 根据值进行条件判断与赋值 为了更好的演示我们的示例,我们新建一张stus表: CREATE TABLE stus ( id INT NOT NULL AUTO_INCREMENT PRIMA…

    database 2023年5月22日
    00
  • Mysql 日期格式化及复杂日期区间查询

    MySQL 日期格式化是非常常见的数据处理需求,常用于将日期格式化为指定字符串形式,以便于在网页上显示。同时,对于复杂的日期区间查询,也需要使用 MySQL 的日期函数进行处理。下面是详细讲解“Mysql 日期格式化及复杂日期区间查询”的完整攻略。 日期格式化 DATE_FORMAT 函数 DATE_FORMAT 函数可以将日期转换为指定格式的字符串。其语法…

    database 2023年5月22日
    00
  • JBuilderX+SQL Server开发hibernate

    JBuilderX+SQL Server开发hibernate攻略 1. 安装JBuilderX JBuilderX是一个商业软件,需要购买授权。购买后可以从官方网站下载对应的安装程序进行安装。 2. 安装SQL Server SQL Server也是一个商业软件,需要购买授权。购买后可以从官方网站下载对应的安装程序进行安装。 3. 创建Hibernate项…

    database 2023年5月21日
    00
  • 详解CentOS 6.5中安装mysql 5.7.16 linux glibc2.5 x86 64(推荐)

    详解CentOS 6.5中安装mysql 5.7.16 linux glibc2.5 x86 64(推荐) 前言 MySQL是一个流行的开源关系型数据库管理系统,为许多Web应用提供数据存储服务。本文将介绍在CentOS 6.5操作系统上如何安装MySQL 5.7.16。 步骤 以下是在CentOS 6.5中安装MySQL 5.7.16的步骤。 步骤1:安装…

    database 2023年5月22日
    00
  • 详解Python操作MongoDB的方法

    安装MongoDB MongoDB的安装很简单,只需要在官网选择对应的操作系统,下载安装包,然后进行安装即可。 安装Python的MongoDB驱动包pymongo 在命令行窗口输入以下命令来安装pymongo包: pip install pymongo 连接MongoDB数据库 Python通过pymongo包来操作MongoDB数据库,连接的方法如下所示…

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