写一个脚本 linux 离线一键安装mysql,我只需要执行一个sh文件即可
时间: 2023-09-12 10:04:30 浏览: 121
Linux 使用脚本安装MySQL数据库
### 回答1:
可以的,以下是一个简单的脚本,可以在Linux上离线一键安装MySQL:
```
#!/bin/bash
# Download MySQL installation package
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# Install MySQL package
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
sudo yum update
sudo yum install mysql-server
# Start MySQL service
sudo systemctl start mysqld
# Set MySQL to start automatically on boot
sudo systemctl enable mysqld
```
在终端中运行这个脚本,即可离线一键安装MySQL。请注意,这个脚本假设你的Linux系统是CentOS 7或RedHat 7。如果你使用的是其他版本的Linux,需要修改一些命令以适应你的系统。
### 回答2:
实现一个在linux系统上的脚本,用于离线一键安装mysql,只需执行一个sh文件即可。下面是一个简单的脚本示例:
```shell
#!/bin/bash
# 检查是否有root权限
if [ $EUID -ne 0 ]; then
echo "请以root权限执行该脚本!"
exit 1
fi
# 设置要安装的mysql版本和下载链接
MYSQL_VERSION="5.7.33"
MYSQL_DOWNLOAD_URL="http://<你的离线安装包地址>/mysql-${MYSQL_VERSION}.tar.gz"
# 创建安装目录
INSTALL_DIR="/usr/local/mysql"
if [ ! -d "$INSTALL_DIR" ]; then
mkdir -p $INSTALL_DIR
fi
# 下载离线安装包
echo "正在下载离线安装包..."
wget $MYSQL_DOWNLOAD_URL -P $INSTALL_DIR
# 解压安装包
echo "解压安装包..."
tar -xzf $INSTALL_DIR/mysql-${MYSQL_VERSION}.tar.gz -C $INSTALL_DIR
# 安装依赖软件包
echo "安装依赖软件包..."
apt-get update
apt-get install -y libaio-dev
# 创建一个新的mysql用户和用户组
echo "创建mysql用户和用户组..."
groupadd mysql
useradd -r -g mysql mysql
# 编译安装mysql
echo "编译安装mysql..."
cd $INSTALL_DIR/mysql-${MYSQL_VERSION}
cmake . -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1
make && make install
# 初始化mysql数据库
echo "初始化mysql数据库..."
$INSTALL_DIR/mysql-${MYSQL_VERSION}/scripts/mysql_install_db --user=mysql --basedir=$INSTALL_DIR/mysql-${MYSQL_VERSION} --datadir=$INSTALL_DIR/mysql-${MYSQL_VERSION}/data
# 修改mysql配置文件
echo "修改mysql配置文件..."
cp $INSTALL_DIR/mysql-${MYSQL_VERSION}/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
echo "export PATH=\$PATH:$INSTALL_DIR/mysql-${MYSQL_VERSION}/bin" >> /etc/profile
source /etc/profile
# 设置mysql系统服务
echo "设置mysql系统服务..."
update-rc.d mysql defaults
# 启动mysql服务
echo "启动mysql服务..."
/etc/init.d/mysql start
echo "mysql安装成功!"
```
将以上脚本保存为一个.sh文件,例如"install_mysql.sh",然后通过以下命令执行该脚本:
```shell
chmod +x install_mysql.sh
./install_mysql.sh
```
脚本会自动下载mysql离线安装包、安装依赖软件包、编译安装mysql、初始化mysql数据库,并设置mysql系统服务,最后启动mysql服务。在执行脚本过程中,请确保已拥有root权限,并根据实际情况修改MYSQL_DOWNLOAD_URL和INSTALL_DIR的值。
### 回答3:
下面是一个用于在Linux上离线一键安装MySQL的示例脚本:
#!/bin/bash
# 设置变量
mysql_tarball="mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz"
mysql_extracted_folder="mysql-5.7.35-linux-glibc2.12-x86_64"
mysql_install_dir="/usr/local/mysql"
# 创建安装目录
sudo mkdir -p $mysql_install_dir
# 解压MySQL安装包
sudo tar -xzf $mysql_tarball -C $mysql_install_dir
# 更改文件和文件夹的所有者和权限
sudo chown -R root:root $mysql_install_dir/$mysql_extracted_folder
sudo chmod -R 755 $mysql_install_dir/$mysql_extracted_folder
# 创建MySQL系统用户
sudo useradd -r mysql
# 初始化MySQL数据库
sudo $mysql_install_dir/$mysql_extracted_folder/bin/mysqld --initialize-insecure --user=mysql --basedir=$mysql_install_dir/$mysql_extracted_folder --datadir=$mysql_install_dir/$mysql_extracted_folder/data
# 在后台启动MySQL服务器
sudo $mysql_install_dir/$mysql_extracted_folder/bin/mysqld_safe --user=mysql --basedir=$mysql_install_dir/$mysql_extracted_folder --datadir=$mysql_install_dir/$mysql_extracted_folder/data &
# 添加MySQL命令到PATH
echo "export PATH=$mysql_install_dir/$mysql_extracted_folder/bin:$PATH" >> ~/.bashrc
# 重新加载.bashrc文件
source ~/.bashrc
# 检查MySQL是否已成功安装
mysql --version
上述脚本首先定义了一些变量,例如MySQL安装包的文件名、解压后的文件夹名称以及安装目录。然后,它创建安装目录,解压MySQL安装包,更改文件和文件夹的所有者和权限,创建MySQL系统用户,初始化MySQL数据库并在后台启动MySQL服务器。接下来,脚本将MySQL命令添加到用户的PATH环境变量,并重新加载.bashrc文件。最后,它通过运行`mysql --version`检查MySQL是否已成功安装。
保存脚本到一个.sh文件,例如`mysql_install.sh`,然后在终端上执行以下命令来运行脚本:
```
chmod +x mysql_install.sh
./mysql_install.sh
```
这将会执行脚本并离线一键安装MySQL。请确保脚本所需的MySQL安装包与脚本文件位于同一目录下。
阅读全文