mysql源码安装脚本分享

yizhihongxing

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

相关文章

  • Python爬虫scrapy-redis分布式实例(一)

    目标任务:将之前新浪网的Scrapy爬虫项目,修改为基于RedisSpider类的scrapy-redis分布式爬虫项目,将数据存入redis数据库。   一、item文件,和之前项目一样不需要改变 # -*- coding: utf-8 -*- import scrapyimport sysreload(sys)sys.setdefaultencoding…

    Redis 2023年4月13日
    00
  • Oracle中的instr()函数应用及使用详解

    Oracle中的instr()函数应用及使用详解 概述 instr() 函数是 Oracle 数据库中用来查找一个字符串或字符在另一个字符串或字符中首次出现的位置的函数。该函数返回一个整数值,代表所查找的字符串或字符首次出现的位置在另一个字符串或字符中的索引位置,如果查找不到该字符串或字符则返回 0。 语法 instr(str1, str2 [, start…

    database 2023年5月21日
    00
  • MySQL数据库show processlist指令使用解析

    MySQL数据库show processlist指令使用解析 简介 MySQL是一种开源关系型数据库管理系统,其提供了许多命令行指令以帮助用户管理和维护数据库。其中,show processlist指令可以用于查看正在运行的MySQL进程列表。该指令用起来非常简单,但是却能够帮助用户排查出现的问题,并及时采取解决措施。 show processlist指令语…

    database 2023年5月21日
    00
  • 微服务架构-利用Redis特性进行业务解耦

    背景: 接着上篇文章来,上篇文章讲的是如何利用ApplicationContext的事件机制来达到业务解耦,而且这只能作用在单体应用中。在当下这么盛行的微服务架构中,想要再利用此方案做业务解耦是不可能的了,我们也提到,现在比较流行的解决方案是利用消息队列来完成,例如现在流行的RabbitMQ、RocketMQ、ActiveMQ,Kafka。    当然了,我…

    Redis 2023年4月11日
    00
  • SQL Server 中 RAISERROR 的用法详细介绍

    下面是SQL Server中RAISERROR的用法详细介绍。 什么是RAISERROR RAISERROR是SQL Server中一个用于抛出错误信息和警告消息的方法,它可以将自定义的错误信息输出到客户端或写入错误日志,以便于开发人员和管理员诊断和处理问题。 RAISERROR的语法 RAISERROR ( {msg_id | msg_str} {,sev…

    database 2023年5月21日
    00
  • Linux中Redis安装部署的操作步骤

    下面我将介绍Linux中Redis安装部署的操作步骤,具体步骤如下: 1.下载Redis源码和安装 1.1 使用wget命令从Redis官网下载最新版本的redis,如下所示: $ wget http://download.redis.io/releases/redis-5.0.7.tar.gz 1.2 将下载的源代码解压到指定的目录中,如下所示: $ ta…

    database 2023年5月22日
    00
  • mysql kill process解决死锁问题

    要理解解决MySQL死锁问题的基本攻略,需要明确以下几点: 死锁是指两个或多个事务无限期地等待对方持有的锁的情况,这是由于没有事务释放锁,导致其他事务无法继续进行。 在MySQL中,死锁通常是由于多个事务同时在读写同一张表或同一行时发生的。 解决MySQL死锁通常需要终止其中一个事务,这个过程又称为 “kill process”(杀死进程)。 下面是解决My…

    database 2023年5月21日
    00
  • SQL如何按照年月来查询数据问题

    针对“SQL如何按照年月来查询数据问题”,我们可以通过指定日期的年月来查询数据。下面是详细攻略: 1. 使用DATE_FORMAT函数 SQL的日期格式是默认的yyyy-MM-dd格式,可以使用DATE_FORMAT函数将日期格式化为年月形式。具体操作如下: SELECT * FROM table_name WHERE DATE_FORMAT(date_co…

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