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.


Related articles: