liunx下rpm包mysql安装脚本

目录

文章目录

前言

一、mysqlshell安装脚本

二, mysql 配置文件

 


前言

liunx下mysql安装脚本shell脚本,采用的版本时mysql-5.7.28,rpm安装方式,shell安装脚本,和ect配置文件修改,shell里面有注释说明,如果时新手。建议先看shell,在执行命令


提示:以下是本篇文章正文内容,下面案例可供参考

一、mysqlshell安装脚本

#!/bin/env bash
#desc: mysql5.7.28的一键安装脚本
#安装说明: 将整个目录上传到服务器任意目录下,修改配置文件中MySQL密码后,直接执行可。
#测试环境: 该脚本在虚拟机上的centOS7.8下测试可行,Linux系统为标准桌面安装

###预定义变量
#获得当前脚本所在目录
curr_path=$(cd `dirname $0`; pwd)
mysql_passwd='Zhq123456`'
#mysql数据文件,安装时先删除,以免造成干扰
mysql_datadir=/var/lib/mysql
mariadb_name=`yum list installed | grep mariadb | awk '{print $1}'`
if [[ -z "${mariadb_name}" ]];then
    #卸载
    rpm -e --nodeps $mariadb_name
    #复制mysql配置文件到/etc/my.cnf下
    if [[  -f /etc/my.cnf ]];then
        #当前mysql版本初始化时会默认生成一个/etc/my.cnf
	rm /etc/my.cnf
    fi  
fi
#Mysql判断数据文件是否存在,存在删除
if [[  -d $mysql_datadir ]];then
        #删除已经存在的mysql数据文件
	rm -rf $mysql_datadir
fi 
#第二步:安装rpm安装包
echo `date "+%Y-%m-%d %T"`    "----安装mysql-common......"
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
echo `date "+%Y-%m-%d %T"`    "----mysql rpm包安装完毕"

echo `date "+%Y-%m-%d %T"`    "----安装mysql-libs......"
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
echo `date "+%Y-%m-%d %T"`    "---->>mysql rpm包安装完毕"

echo `date "+%Y-%m-%d %T"`    "----安装mysql-compat......"
rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
echo `date "+%Y-%m-%d %T"`    "---->>mysql rpm包安装完毕"

echo `date "+%Y-%m-%d %T"`    "----安装mysql-client......"
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
echo `date "+%Y-%m-%d %T"`    "----mysql rpm包安装完毕"

echo `date "+%Y-%m-%d %T"`    "----安装mysql-server......"
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
echo `date "+%Y-%m-%d %T"`    "----mysql rpm包安装完毕"

#用已经配置好的mysql配置文件覆盖生成的配置文件
cp ./my.cnf /etc/my.cnf
#启动mysql服务
systemctl start  mysqld
#获取mysql初始密码
init_passwd=$(cat /var/log/mysqld.log | grep 'temporary password' | awk '{print $NF}')
#使用初始密码登录mysql,并设置新密码
mysql --connect-expired-password -uroot -p${init_passwd} << EOF
set PASSWORD=PASSWORD("${mysql_passwd}");
exit
EOF
echo `date "+%Y-%m-%d %T"`    "---->>新密码设置完毕"

#第四步:授权设置,开启远程访问
echo `date "+%Y-%m-%d %T"`    "---->>授权设置......"
#使用新密码登录mysql
mysql -uroot -p"${mysql_passwd}" << EOF
use mysql;
update user set host = '%' where user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "${mysql_passwd}" WITH GRANT OPTION;
flush privileges;
exit
EOF
echo "---->>授权执行完毕"
#设置开机自启,并重启mysql
#chkconfig mysql on
#service mysql restart 1>/dev/null 2>&1
echo "mysql安装完毕,登录密码为${mysql_passwd}"

 


二, mysql 配置文件

     

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# 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
#
# 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

# Disabling symbolic-links is recommended to prevent assorted security risks
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
port=20110
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
lower_case_table_names=1
ngram_token_size=1
symbolic-links=0
max_connections=1000
max_allowed_packet=1024M
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/slow-query.log   # 若没有指定,默认名字为hostname_slow.log
long_query_time = 1
log_queries_not_using_indexes = 0
transaction_isolation = READ-COMMITTED

innodb_file_per_table=1
innodb_log_file_size=1024M
innodb_strict_mode=0
#wait_timeout=600
#  ---------------- Binlog ----------------
server-id=1
log-bin = /var/lib/mysql/mysql_log_bin
log-bin-index = /var/lib/mysql/mysql_log_bin.index
binlog_format = row
expire_logs_days = 7
sync_binlog = 1
binlog_cache_size = 8M
max_binlog_cache_size = 2048M
max_binlog_size = 1024M
binlog_rows_query_log_events = 1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值