heroxsx 2019-04-16
本文为大家分享了Linux环境下mysql5.6.24自动安装脚本代码,供大家参考,具体内容如下
说明:
一、本脚本仅供测试使用,若正式环境想要使用,需更改脚本的一些参数。
二、使用本脚本之前,需保证linux环境可以联网下载,若不能联网,则需要将下载好的mysql二进制包上传至linux中的/data目录下。
三、脚本使用是需一次输入三个参数:
1、需安装的mysql版本号,如:5.6.24
2、需安装的mysql端口设置,如:3306
3、mysql的server_id设置,如:1003306
使用步骤:
1、将下列脚本上传至linux环境中,我个人是以mysql_install.sh命名
#!/bin/bash #mysql_install by chen #Email:[email protected] & [email protected] #version 2.0 #安装版本 5.6.20-5.6.25 #安装要求: #需要可以联网,若无网络,可以先创建/data目录,将安装包上传到/data目录下 #判断/data目录是否存在,若不存在则创建,并且下载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 #解压下载好的mysql cd /opt mkdir mysql cd mysql tar zxvf $mysqlfile -C /opt/mysql #创建mysql用户 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 #创建mysql软连接,并授权给mysql用户 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/ #基于配置文件,创建mysql安装目录,并授权 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 #忽略表名大小写 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 #初始化mysql cd /usr/local/mysql ./scripts/mysql_install_db --defaults-file=/etc/my.cnf #在/etc/init.d下创建mysql 启动脚本 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql #添加环境变量,并使/etc/profile环境变量生效 echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
export PATH=$PATH:/usr/local/mysql/bin
2、给脚本赋予可执行权限,
[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、执行脚本,并输入三个参数,等待数据库安装
[root@MySQL ~]# ./mysql_install.sh Input a mysql version:5.6.24 Input a mysql port:3306 Input a mysql_server_id:1003306
4、启动数据库
[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>
至此,linux下mysql安装已经完成,可以使用它做一些测试了。