mysql 5.6. 24 (binary) auto installation script under Linux
- 2021-10-16 05:12:14
- OfStack
This article shares the script code of mysql 5.6. 24 automatic installation under Linux environment for your reference. The specific contents are as follows
Description:
1. This script is for testing only. If the formal environment wants to use it, it needs to change some parameters of the script.
2. Before using this script, it is necessary to ensure that the linux environment can be downloaded online. If it cannot be downloaded online, it is necessary to upload the downloaded mysql2 binary package to the/data directory in linux.
3. Script use requires entering three parameters at a time:
1. mysql version number to be installed, such as 5.6. 24
2. mysql port settings to be installed, such as 3306
3. server_id setting of mysql, such as 1003306
Use steps:
1. Upload the following script to the linux environment, which I personally named after mysql_install. sh
#!/bin/bash
#mysql_install by chen
#Email : chenhz1218@gmail.com & 296966488@qq.com
#version 2.0
# Installation version 5.6.20-5.6.25
# Installation requirements:
# Need to be connected to the Internet. If there is no network, you can create it first /data Directory, upload the installation package to /data Directory
# Judge /data Whether the directory exists, if it does not exist, create it and download it mysql
datamenu="/data"
read -p "Input a mysql version:" -t 30 mysql_version
read -p "Input a mysql port:" -t 30 mysql_port
read -p "Input a mysql_server_id:" -t 30 mysql_server_id
mysqlfile="$datamenu/mysql-$mysql_version-linux-glibc2.5-x86_64.tar.gz"
if [ ! -d "$datamenu" ];then
mkdir "$datamenu"
wget -P /data http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-$mysql_version-linux-glibc2.5-x86_64.tar.gz
elif [ ! -f "$mysqlfile" ];then
wget -P /data http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-$mysql_version-linux-glibc2.5-x86_64.tar.gz
fi
# Unzip and download it mysql
cd /opt
mkdir mysql
cd mysql
tar zxvf $mysqlfile -C /opt/mysql
# Create mysql Users
egrep "^mysql" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
groupadd mysql
fi
#create user if not exists
egrep "^mysql" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
useradd -g mysql -s /sbin/nologin -d /usr/local/mysql mysql
fi
# Create mysql Soft connection, and authorized to mysql Users
cd /usr/local/
rm -rf /usr/local/mysql
ln -s /opt/mysql/mysql-$mysql_version-linux-glibc2.5-x86_64 /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/
# Based on the configuration file, create mysql Install directory and authorize
mkdir -p /data/mysql
mkdir -p /data/mysql/mysql${mysql_port}
cd /data/mysql/mysql${mysql_port}/
mkdir /data/mysql/mysql${mysql_port}/data
mkdir /data/mysql/mysql${mysql_port}/logs
mkdir /data/mysql/mysql${mysql_port}/tmp
chown -R mysql:mysql /data/mysql/mysql${mysql_port}
cat > /etc/my.cnf << EOF
[client]
port = ${mysql_port}
socket = /tmp/mysql.sock
# The MySQL server
[mysqld]
# Basic
port = ${mysql_port}
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/mysql${mysql_port}/data
tmpdir = /data/mysql/mysql${mysql_port}/tmp
socket = /tmp/mysql.sock
log-bin = /data/mysql/mysql${mysql_port}/logs/mysql-bin
log-error = error.log
slow-query-log-file = slow.log
skip-external-locking
skip-name-resolve
log-slave-updates
lower_case_table_names = 1 # Ignore the case of table name
character_set_server = gbk
innodb_file_per_table = 1
innodb_autoinc_lock_mode = 2
explicit_defaults_for_timestamp = true
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
EOF
# Initialization mysql
cd /usr/local/mysql
./scripts/mysql_install_db --defaults-file=/etc/my.cnf
# In /etc/init.d Create under mysql Startup script
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# Add environment variables and make the /etc/profile Environment variable takes effect
echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
export PATH=$PATH:/usr/local/mysql/bin
2. Give the script executable permission,
[root@zabbix-server ~]# rz -y
z waiting to receive.**B0100000023be50
[root@zabbix-server ~]# ls
anaconda-ks.cfg install.log install.log.syslog mysql_install.sh
[root@zabbix-server ~]# chmod +x mysql_install.sh
[root@zabbix-server ~]# ls -al|grep mysql_install.sh
-rwxr-xr-x. 1 root root 3136 Jul 29 10:29 mysql_install.sh
3. Execute the script and enter 3 parameters, waiting for the database to be installed
[root@MySQL ~]# ./mysql_install.sh
Input a mysql version:5.6.24
Input a mysql port:3306
Input a mysql_server_id:1003306
4. Start the database
[root@MySQL ~]# /etc/init.d/mysql start
Starting MySQL.. [ OK ]
[root@zabbix-server ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.24-log MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql>
At this point, the installation of mysql under linux has been completed, and you can use it for some testing.