shell脚本编译安装MySQL
时间: 2023-11-03 08:00:58 浏览: 170
shell脚本自动化安装MySQL主从
以下是编译安装MySQL的shell脚本:
```bash
#!/bin/bash
# 安装依赖
yum -y install gcc-c++ cmake ncurses-devel
# 下载 MySQL 源码包并解压
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25.tar.gz
tar -zxvf mysql-8.0.25.tar.gz
# 创建 MySQL 数据存储目录并授权
mkdir -p /data/mysql
chmod 777 /data/mysql
# 进入 MySQL 源码目录并进行编译安装
cd mysql-8.0.25
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1 \
-DSYSTEMD_PID_DIR=/var/run/mysqld \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_ROCKSDB=1 \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci
make && make install
# 初始化 MySQL 数据库
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql
# 创建 MySQL systemd 配置文件
cat > /usr/lib/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
[Service]
Type=forking
PIDFile=/var/run/mysqld/mysqld.pid
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
RestartPreventExitStatus=1
User=mysql
Group=mysql
[Install]
WantedBy=multi-user.target
EOF
# 启动 MySQL 服务并设置开机自启动
systemctl start mysqld
systemctl enable mysqld
```
注意:在使用该脚本之前,请确保已经安装了依赖,如gcc-c++、cmake、ncurses-devel等。此外,该脚本仅适用于CentOS或RedHat系列的Linux系统。
阅读全文