本文参考51CTO博客作者wjw555的作品
脚本内容:
vim install.mysql.sh
 
#!/bin/bash
 
[ -f /etc/init.d/functions ]&& . /etc/init.d/functions
 
###Check if user is root
if [ $UID -ne 0 ]; then
 echo "Error: You must be root to run this script, please use root to install"
 exit 1
fi
 
clear
echo "========================================================================="
echo "A tool to auto-compile & install MySQL 5.7.29 on Redhat/CentOS Linux "
echo "========================================================================="
#pkill -9 mysql
#date +%Y-%m-%d-%H-%M
#卸载系统自带的Mysql
#/bin/rpm -e $(/bin/rpm -qa | grep mysql|xargs) --nodeps
#/bin/rpm -e $(/bin/rpm -qa | grep mariadb|xargs) --nodeps
#/bin/rm -f /etc/my.cnf
 
#set mysql root password
 echo "==========================="
  mysqlrootpwd="$1"
  if [ "$1" = "" ]; then
    mysqlrootpwd="rootmysql"
  fi
 
#which MySQL Version do you want to install"==========================="
 
 isinstallmysql57="5.7.29"
 echo "Install MySQL 5.7.29,Please input y"
 read -p "(Please input y , n):"
# Initialize the installation related content.
 #Delete Old Mysql program
 rpm -qa|grep mysql
 rpm -e mysql
 
 
cat /etc/security/limits.conf<<EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF
 
echo "fs.file-max=65535"  /etc/sysctl.conf
 
echo "============================Install MySQL 5.7.29=================================="
 
#Backup old my.cnf
#rm -f /etc/my.cnf
if [ -s /etc/my.cnf ]; then
 mv /etc/my.cnf /etc/my.cnf.`date +%Y%m%d%H%M%S`.bak
fi
echo "============================MySQL 5.7.29 installing…………========================="
 
##define mysql directory configuration variable
Datadir=/data/mysql/data
Binlogdir=/data/mysql/binlog
Logdir=/data/mysql/logs
 
##yum install devel and wget mysql
yum install numactl
/usr/bin/wget -P /tmp http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
sleep 2
tar xf /tmp/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local/mysql
grep mysql /etc/passwd
RETVAL=$"mysql user added successfully" /bin/true
 else
  action " $(echo -e "\e[31;47;5m mysql user already exists\e[0m")" /bin/false
fi
 
if [ ! -d "$Datadir" ]
then
 mkdir -p /data/mysql/data
fi
 
 
if [ ! -d "$Binlogdir" ]
then
 mkdir -p /data/mysql/binlog
fi
 
if [ ! -d "$Logdir" ]
then
 mkdir -p /data/mysql/logs
fi
 
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /usr/local/mysql
 
#edit /etc/my.cnf
#SERVERID=`ifconfig eth0 | grep "inet addr" | awk '{ print $2}'| awk -F. '{ print $3$4}'`
cat /etc/my.cnf<<EOF
[client]
port   = 3306
 
[mysql]
auto-rehash
prompt="\\u@\\h [\\d]>"
#pager="less -i -n -S"
#tee=/opt/mysql/query.log
 
[mysqld]
####: for global
user        =mysql       
basedir        =/usr/local/mysql/    
datadir        =/data/mysql/data 
server_id       =2333306      
port        =3306       
character_set_server    =utf8       
explicit_defaults_for_timestamp  =off       
log_timestamps      =system      
socket        =/tmp/mysql.sock    
read_only       =0        
skip_name_resolve     =1        
auto_increment_increment   =1        
auto_increment_offset    =1        
lower_case_table_names    =1        
secure_file_priv     =        
open_files_limit     =65536       
max_connections      =1000       
thread_cache_size     =64       
table_open_cache     =81920       
table_definition_cache    =4096       
table_open_cache_instances   =64       
max_prepared_stmt_count    =1048576      
 
####: for binlog
binlog_format      =row       
log_bin        =/data/mysql/binlog/mysql-bin      
binlog_rows_query_log_events  =on       
log_slave_updates     =on       
expire_logs_days     =7        
binlog_cache_size     =65536       
#binlog_checksum     =none       
sync_binlog       =1        
slave-preserve-commit-order   =ON       
 
####: for error-log
log_error       =/data/mysql/logs/error.log      
 
general_log       =off       
general_log_file     =/data/mysql/logs/general.log     
 
####: for slow query log
slow_query_log      =on        
slow_query_log_file     =/data/mysql/logs/slow.log      
#log_queries_not_using_indexes  =on       
long_query_time      =1.000000      
 
####: for gtid
#gtid_executed_compression_period =1000       
gtid_mode       =on        
enforce_gtid_consistency   =on        
 
####: for replication
skip_slave_start      =1        
#master_info_repository    =table       
#relay_log_info_repository   =table       
slave_parallel_type     =logical_clock     
slave_parallel_workers    =4        
#rpl_semi_sync_master_enabled  =1        
#rpl_semi_sync_slave_enabled   =1        
#rpl_semi_sync_master_timeout  =1000       
#plugin_load_add      =semisync_master.so   
#plugin_load_add      =semisync_slave.so    
binlog_group_commit_sync_delay  =100       
binlog_group_commit_sync_no_delay_count = 10      
 
####: for innodb
default_storage_engine       =innodb     
default_tmp_storage_engine      =innodb     
innodb_data_file_path       =ibdata1:1024M:autoextend 
innodb_temp_data_file_path      =ibtmp1:12M:autoextend  
innodb_buffer_pool_filename      =ib_buffer_pool   
innodb_log_group_home_dir      =/data/mysql/data      
innodb_log_files_in_group      =3       
innodb_log_file_size       =1024M      
innodb_file_per_table       =on      
innodb_online_alter_log_max_size    =128M      
innodb_open_files        =65535      
innodb_page_size        =16k      
innodb_thread_concurrency      =0       
innodb_read_io_threads       =4       
innodb_write_io_threads       =4       
innodb_purge_threads       =4       
innodb_page_cleaners       =4   
     # 4(刷新lru脏页)
innodb_print_all_deadlocks      =on      
innodb_deadlock_detect       =on      
innodb_lock_wait_timeout      =20      
innodb_spin_wait_delay       =128      
innodb_autoinc_lock_mode      =2       
innodb_io_capacity        =200      
innodb_io_capacity_max       =2000      
#--------Persistent Optimizer Statistics
innodb_stats_auto_recalc      =on      
innodb_stats_persistent       =on      
innodb_stats_persistent_sample_pages   =20      
 
 
innodb_adaptive_hash_index      =on      
innodb_change_buffering       =all      
innodb_change_buffer_max_size     =25      
innodb_flush_neighbors       =1       
#innodb_flush_method        =       
innodb_doublewrite        =on      
innodb_log_buffer_size       =128M      
innodb_flush_log_at_timeout      =1       
innodb_flush_log_at_trx_commit     =1       
innodb_buffer_pool_size       =4096M      
innodb_buffer_pool_instances     =4
autocommit          =1       
#--------innodb scan resistant
innodb_old_blocks_pct       =37      
innodb_old_blocks_time       =1000      
#--------innodb read ahead
innodb_read_ahead_threshold      =56      
innodb_random_read_ahead      =OFF      
#--------innodb buffer pool state
innodb_buffer_pool_dump_pct      =25      
innodb_buffer_pool_dump_at_shutdown    =ON      
innodb_buffer_pool_load_at_startup    =ON      
 
EOF
 
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
Pass=$(grep 'A temporary password' /data/mysql/logs/error.log |awk '{print $NF}')
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
/etc/init.d/mysqld start
echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
echo "============================MySQL 5.7.29 install completed========================="
ps -eo start,cmd,pid|grep mysql
/usr/local/mysql/bin/mysqladmin -uroot -p"$Pass" password $mysqlrootpwd
[root@localhost ~]# sh install.mysql.sh mysqlroot [root@localhost ~]# source /etc/profile.d/mysql.sh
说明: mysqlroot 为安装脚本修改MySQL服务默认密码后的新的密码
[root@localhost ~]# mysql -uroot -p'mysqlroot' -e "select now()" mysql: [Warning] Using a password on the command line interface can be insecure. +---------------------+ | now() | +---------------------+ | 2020-10-13 16:18:47 | +---------------------+
到此处MySQL服务启动成功!
总结
                                免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
                                如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
                            
                        白云城资源网 Copyright www.dyhadc.com
                        暂无“shell脚本一键安装MySQL5.7.29的方法”评论...
                                    稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2025年11月04日
                                2025年11月04日
                    - 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
 - 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
 - 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
 - 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
 - 群星《2024好听新歌42》AI调整音效【WAV分轨】
 - 王思雨-《思念陪着鸿雁飞》WAV
 - 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
 - 李健《无时无刻》[WAV+CUE][590M]
 - 陈奕迅《酝酿》[WAV分轨][502M]
 - 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
 - 群星《吉他王(黑胶CD)》[WAV+CUE]
 - 齐秦《穿乐(穿越)》[WAV+CUE]
 - 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
 - 邝美云《邝美云精装歌集》[DSF][1.6G]
 - 吕方《爱一回伤一回》[WAV+CUE][454M]