#!/bin/bash
#该shell为使用mysql二进制包安装mysql-5.6
#测试系统:Centos7
#mysql下载地址 https://dev.mysql.com/downloads/mysql/
#下载一个mysql5.6的二进制包并执行shell
#https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
#shell执行方式:
#sh mysql_install.sh mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
port=3306
basedir=/opt/mysql
datadir=/data
mysql_passwd=`openssl rand -base64 9`
function install
{
sudo yum -y install autoconf libaio-devel perl-Module-Install.noarch
sudo mkdir -p $basedir
sudo mkdir -p $datadir
sudo tar -xvf $1 -C $basedir --strip-components 1
sudo useradd -r mysql -s /sbin/nologin
sudo chown -R mysql.mysql $datadir
sudo chown -R mysql.mysql $basedir
sudo $basedir/scripts/mysql_install_db --basedir=$basedir \
--datadir=$datadir --user=mysql --pid-file=$basedir/mysql.pid ||exit -1
sudo cp $basedir/support-files/mysql.server /etc/init.d/mysqld
sudo chmod +x /etc/init.d/mysqld
if [[ ! -f /etc/my.cnf.bk ]]; then
sudo cp /etc/my.cnf /etc/my.cnf.bk
fi
sudo cat>/etc/my.cnf <<END
[mysqld]
basedir = $basedir
datadir = $datadir
socket = /tmp/mysql.sock
pid-file = $basedir/mysql.pid
log-bin=mysql-bin
binlog_format=mixed
character-set-server = utf8
max_connections = 1000
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
interactive_timeout = 28800
wait_timeout = 28800
lower_case_table_names=1
event_scheduler=1
skip-name-resolve=1
max_allowed_packet=30M
END
sudo ln -s $basedir/bin/* /usr/sbin/
sudo /etc/init.d/mysqld start
sudo echo "/etc/init.d/mysqld start" >>/etc/rc.local
sudo chmod +x /etc/rc.local
sudo mysqladmin -u root password "$mysql_passwd"
sudo mysql -uroot -p$mysql_passwd -e "delete from mysql.user where user=''; \
delete from mysql.db where user='';"
sudo echo "port $port" >>$basedir/mysql.txt
sudo echo "basedir $basedir" >>$basedir/mysql.txt
sudo echo "datadir $datadir" >>$basedir/mysql.txt
sudo echo "root passwd:$mysql_passwd" >>$basedir/mysql.txt
sudo echo "mysql初始密码保存在$basedir/mysql.txt"
}
case $1 in
"")
echo "Example: sh mysql_install.sh [压缩包路径]"
exit 1;;
*)
if test ! -f $1
then
echo "压缩包名称或路径错误!"
else
install
fi
;;
esac
Centos7一键安装mysql
原创
©著作权归作者所有:来自51CTO博客作者知者不言的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:安装cdh时启动spark一个坑

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
centos7安装mysql8
centos7安装mysql8全过程
mysql Server MySQL -
centos7 一键安装mysql centos7 一键安装k8s
一、安装k8s1.1、安装环境 docker v19.03.15 &
centos7 一键安装mysql kubernetes centos linux bash