首页 > 数据库 >写shell脚本一键编译安装MySQL

写shell脚本一键编译安装MySQL

时间:2023-07-22 14:32:08浏览次数:29  
标签:shell MySQL 一键 编译 INSTALL mysql 安装 DIR

一键编译安装MySQL的Shell脚本

在Linux系统中,MySQL是一个非常常见的数据库管理系统。它提供了强大的功能和可靠的性能,因此在许多应用程序中被广泛使用。为了在Linux系统上运行MySQL,我们需要先进行编译安装。为了简化这个过程,我们可以编写一个Shell脚本来自动完成MySQL的编译和安装。

编写Shell脚本

首先,我们需要创建一个Shell脚本文件,例如install_mysql.sh。可以使用任何文本编辑器打开文件,并将以下代码粘贴到文件中:

#!/bin/bash

# 定义变量
MYSQL_VERSION=8.0.25
INSTALL_DIR=/usr/local/mysql

# 安装编译依赖
sudo apt-get update
sudo apt-get install -y build-essential cmake libncurses5-dev

# 下载MySQL源码
wget 

# 解压源码
tar xvf mysql-${MYSQL_VERSION}.tar.gz

# 创建安装目录
sudo mkdir -p ${INSTALL_DIR}

# 进入源码目录
cd mysql-${MYSQL_VERSION}

# 编译安装MySQL
cmake . -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DMYSQL_DATADIR=${INSTALL_DIR}/data -DSYSCONFDIR=/etc
make
sudo make install

# 添加MySQL用户和组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

# 初始化MySQL
sudo ${INSTALL_DIR}/bin/mysqld --initialize --user=mysql --basedir=${INSTALL_DIR} --datadir=${INSTALL_DIR}/data

# 启动MySQL服务
sudo ${INSTALL_DIR}/bin/mysqld_safe --user=mysql --basedir=${INSTALL_DIR} --datadir=${INSTALL_DIR}/data &

上述脚本实现了自动编译和安装MySQL的过程。首先,我们定义了需要使用的变量,如MySQL版本号和安装目录。然后,我们安装了编译MySQL所需的依赖项,包括构建工具、CMake和ncurses。接下来,我们下载了MySQL的源码,并解压缩。然后,我们创建了MySQL的安装目录,并进入源码目录。接下来,我们使用cmake配置MySQL的编译选项,并使用make进行编译。然后,我们创建了一个MySQL用户和组,并使用初始化命令初始化MySQL。最后,我们启动了MySQL服务。

运行脚本

要运行脚本,我们需要确保具有执行权限。可以使用以下命令为脚本添加执行权限:

chmod +x install_mysql.sh

然后,我们可以使用以下命令运行脚本:

./install_mysql.sh

脚本将自动下载、编译和安装MySQL,并启动MySQL服务。您可以根据自己的需求修改脚本中的变量,例如MySQL版本号或安装目录。

结论

通过编写Shell脚本来自动编译和安装MySQL,可以简化MySQL的安装过程。这使得在Linux系统上安装MySQL变得更加容易和高效。希望这篇文章对您有所帮助,让您更好地理解如何使用Shell脚本来完成MySQL的安装。


以上是一个简单的Shell脚本示例,用于一键编译和安装MySQL。希望这篇科普文章能够帮助您理解如何使用Shell脚本来自动化MySQL的安装过程。使用Shell脚本可以大大简化复杂的安装过程,并提高效率。祝您使用愉快!

标签:shell,MySQL,一键,编译,INSTALL,mysql,安装,DIR
From: https://blog.51cto.com/u_16175464/6815463

相关文章

  • 在mysql底下导出表数据
    在MySQL数据库中导出表数据是一个常见的任务,它允许我们将表数据以可移植的方式保存到文件中,以便在需要时重新导入到数据库中。这对于数据备份、数据迁移和与其他数据库系统的交互非常有用。在MySQL中,我们可以使用mysqldump命令来导出表数据。这是一个命令行工具,可以在终端中使用。......
  • Linux shell中提取文件名和路径
    本文地址:https://www.cnblogs.com/wanger-sjtu/p/17561896.html首先假设我的文件全称:/home/luna/Desktop/Software/softHLA/HLAreporter.v103/HLAreporter.sh.获取文件名使用${},${str##*/}这个命令的作用就是去掉变量str从左边算起的最后一个/字符及其左边的内容,返回的值是从......
  • MySQL之视图检查选项
    MySQL之视图检查选项视图的检查选项当使用WITHCHECKOPTION子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如插入,更新,删除,以使其符合视图的定义。MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了两个选项:CASC......
  • file /usr/share/mysql/charsets/macroman.xml from install of MySQL-server-5.6
    MySQL服务器和字符集在使用MySQL数据库时,字符集是一个非常重要的概念。它决定了数据库中存储的数据如何表示和解释。MySQL支持多种字符集,每个字符集都有自己的编码方式和规则。在安装MySQL服务器时,我们可能会遇到如下错误提示信息:file/usr/share/mysql/charsets/macroma......
  • PowerShell命令卸载 Windows系统预装内置软件
    一、【核心命令】 Get-AppxPackage-AllUsers /*获取Win10以上系统(所有用户)预装软件*/ Get-AppxPackage-AllUsers{预装软件全名}|Remove-AppxPackage/*管道方式卸载Win10以上系统预装软件*/ Remove-App......
  • MySQL之视图CRUD
    MySQL之视图CRUD介绍视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SOL查询......
  • Mysql 幻读
    总结下:简单的事务操作,例如快照读,通过系统提供的mvcc机制——创建版本号、删除版本号,避免幻读。而复杂的事务操作,例如当前度,则需要通过加锁进行控制。参考一:幻读的基本概念什么是幻读事务不是独立执行造成的一种现象。一个事务对数据表进行了全面的修改,而后另一个事务增加了一......
  • 安装 MySQL ZIP 版本
    安装MySQL的ZIP版本相对于安装包版本稍微复杂一些,因为它需要手动解压和配置。以下是在Windows上安装MySQLZIP版本的步骤:下载MySQLZIP文件:前往MySQL官方网站(https://dev.mysql.com/downloads/mysql/)下载适合您Windows版本的MySQLZIP文件。选择与您系统......
  • java mysql连接串设置超时时间
    JavaMysql连接串设置超时时间在开发Java应用程序时,我们经常需要与数据库进行交互。而MySQL是一个常用的关系型数据库,因此在Java中连接MySQL数据库是一项常见的任务。在连接MySQL数据库时,有时候我们需要设置超时时间。超时时间是指在数据库连接过程中,如果连接的时间超过了指定的......
  • linux cpp g++ mysqlconnector
    1.installmysqlinubuntu;2installmysqlconnector;sudoaptinstalllibmysqlclient-dev3.completecode#include<algorithm>#include<chrono>#include<cstdio>#include<cstdint>#include<cstdlib>#include<ctime>......