Centos mysql-5.7.26一键安装脚本
2019-06-10 17:36
3099 查看
tar包,shell百度云盘链接
链接:https://pan.baidu.com/s/19L5O0bR69HldSxoiDTgzcQ 提取码:i6a4
安装脚本如下
可参考https://blog.csdn.net/rzhidong/article/details/78432119
[code]#!/bin/bash # write by luozhidong # date: 20190610 # description:默认路径为/usr/local,若要变更则修改MYSQL_HOME # mysql包为:mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz MYSQL_HOME='/usr/local' #my-default.cnf参数检查 checkCNF(){ BASEDIR=$(cat $MYSQL_HOME/mysql/support-files/my-default.cnf |grep -v "#"|grep basedir) if [[ $(echo $BASEDIR|awk -F '=' '{print $2}') != $MYSQL_HOME/mysql ]];then sed -i "s|$BASEDIR|basedir = $MYSQL_HOME/mysql|g" $MYSQL_HOME/mysql/support-files/my-default.cnf fi DATADIR=$(cat $MYSQL_HOME/mysql/support-files/my-default.cnf |grep -v "#"|grep datadir) if [[ $(echo $DATADIR|awk -F '=' '{print $2}') != $MYSQL_HOME/mysql/data ]];then sed -i "s|$DATADIR|datadir = $MYSQL_HOME/mysql/data|g" $MYSQL_HOME/mysql/support-files/my-default.cnf fi LOGDIR=$(cat $MYSQL_HOME/mysql/support-files/my-default.cnf |grep -v "#"|grep log) if [[ $(echo $LOGDIR|awk -F '=' '{print $2}') != $MYSQL_HOME/mysql/log/mysqld.log ]];then sed -i "s|$LOGDIR|log-error = $MYSQL_HOME/mysql/log/mysqld.log|g" $MYSQL_HOME/mysql/support-files/my-default.cnf fi PIDDIR=$(cat $MYSQL_HOME/mysql/support-files/my-default.cnf |grep -v "#"|grep pid) if [[ $(echo $PIDDIR|awk -F '=' '{print $2}') != $MYSQL_HOME/mysql/run/mysqld.pid ]];then sed -i "s|$PIDDIR|pid-file = $MYSQL_HOME/mysql/run/mysqld.pid|g" $MYSQL_HOME/mysql/support-files/my-default.cnf fi } #检查其他库文件并删除 if [[ -n $(rpm -qa | grep mysql) ]];then rpm -qa | grep mysql|awk '{print $0}'|xargs rpm -e --nodeps fi #检查mysql组 if [[ -z $(cat /etc/group|grep mysql) ]];then groupadd mysql fi #检查mysql用户 if [[ -z $(cat /etc/passwd | grep mysql) ]];then useradd -r -g mysql mysql fi id mysql CHECK=$(ls $MYSQL_HOME |grep mysql) if [[ -z $CHECK ]];then #解压 TARPATH=$(find . -name 'mysql*linux*.tar.gz') tar -zvxf $TARPATH -C $MYSQL_HOME mv $MYSQL_HOME/$(ls $MYSQL_HOME |grep mysql) $MYSQL_HOME/mysql mkdir -p $MYSQL_HOME/mysql/data $MYSQL_HOME/mysql/log $MYSQL_HOME/mysql/run touch $MYSQL_HOME/mysql/log/mysqld.log touch $MYSQL_HOME/mysql/run/mysqld.pid #复制 CNFPATH=$(find . -name 'my-default.cnf') cp $CNFPATH $MYSQL_HOME/mysql/support-files #参数检查 checkCNF #复制到etc cp $(find $MYSQL_HOME/mysql/ -name "my-default.cnf") /etc/my.cnf cp $(find $MYSQL_HOME/mysql/ -name "mysql.server") /etc/init.d/mysqld chown -R mysql:mysql $MYSQL_HOME/mysql/ #环境变量 echo "export PATH=$MYSQL_HOME/mysql/bin:\$PATH" >> /etc/profile source /etc/profile #执行安装 $MYSQL_HOME/mysql/bin/mysqld_safe --initialize --user=mysql --basedir=$MYSQL_HOME/mysql --datadir=$MYSQL_HOME/mysql/data #$MYSQL_HOME/mysql/bin/mysqld --initialize --user=mysql --basedir=$MYSQL_HOME/mysql --datadir=$MYSQL_HOME/mysql/data #$MYSQL_HOME/mysql/bin/mysqld_safe --user=mysql & #自启动 chkconfig --add mysqld #临时密码 #cat /var/log/mysqld.log |grep "temporary password"|awk -F':' '{print $4}' cat $MYSQL_HOME/mysql/log/mysqld.log |grep "temporary password"|awk -F'for' '{print $2}' > passwd.txt echo "temporary password: " $(cat $(find . -name 'passwd.txt')) fi
my-default.cnf如下
[code]# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #log-bin=mysql-bin [mysqld_safe] log-error = /usr/local/mysql/log/mysqld.log pid-file = /usr/local/mysql/run/mysqld.pid # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 # server_id = ..... # socket = ..... # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M? # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 取消密码验证 #skip-grant-tables sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
相关文章推荐
- CentOS 7.0 MySQL 5.6.19安装与卸载脚本小结
- CentOS_6.7脚本静默安装MySQL5.6
- MySQL-5.5.25 centos 一键安装脚本 auto install
- Centos 6.4上面用Shell脚本一键安装mysql 5.6.15
- Centos5.8上面用Shell脚本一键安装mysql5.5.25源码包
- CentOS 5/6 LAMP(Apache MySQL PHP)一键安装脚本
- centos安装mysql脚本
- centos 5.5 安装mysql、nginx环境初始化脚本
- Centos上面用Shell脚本一键安装LNMP环境, Nginx+MySQL+PHP+Xcache+Memcached
- Centos 安装nginx+mysql+php+phpmyadmin 的shell脚本
- CentOS 7 安装 MySQL
- Centos 安装配置mysql
- 关于CentOs上安装MySQL的一些体会
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL) 详细出处参考:http://www.jb51.net/article/37987.htm
- CentOS 下 MySQL 5.6 tar包安装
- mysql自动化安装脚本
- Centos 源码安装 MySQL
- CentOS6.5安装mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar
- 腾讯云服务器CentOS安装JDK+Tomcat+MySQL详细步骤(以及遇到的各种坑)
- CentOS 6.5 最小化安装系统初始化脚本