简介
<代码> # # # # # #数据库目录/usr/地方/mysql # # # # # # # # # # # #
# # # # # #数据目录/数据/mysql # # # # # # # # # # # #
# # # # # #慢日志目录/数据/slowlog # # # # # # # # # # # #
# # # # # #端口号默认其3306余参数按需自行修改# # # # # # # # # # # #
代码>
安装脚本
<代码> # !/bin/bash
cd/usr/local/src/如果[!- f mysql-5.7.21-linux-glibc2.12-x86_64.tar。广州];然后
wget https://cdn.mysql.com//downloads/mysql - 5.7/- mysql - 5.7.21 - linux - glibc2.12 x86_64.tar.gz
fi
yum安装- y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c + + libaio libaio-devel bzr野牛libtool ncurses-devel gcc gcc-c + +
#检查用户是否根
如果[$ (id - u) !=" 0 ");然后
回声“错误:你必须根运行这个脚本,请使用根安装”
出口1
fi
清晰的
cd/usr/local/src
如果[!- f jemalloc-5.0.1.tar。bz2]获取;然后
yum安装使用bzip2 - y
wget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2
焦油-xjvf jemalloc-5.0.1.tar.bz2
cd jemalloc-5.0.1/./configure前缀=/usr/地方/jemalloc——libdir=/usr/地方/lib
使,,制作安装
回声/usr/local/lib祝辞祝辞/etc/ld.so.conf
ldconfig
fi
cp/usr/local/lib/libjemalloc。所以特性
回声”========================================================================="
回声”工具来自动编译,安装MySQL 5.7.21==========================="
mysqlrootpwd=" 123456 "
echo - e "请输入mysql的根密码:"
读- p”(默认密码:123456):“mysqlrootpwd
如果(" $ mysqlrootpwd "=" ");然后
mysqlrootpwd=" 123456 "
fi
回声”==========================="
回声“MySQL根密码:$ mysqlrootpwd”
回声”==========================="
#你想要安装哪个MySQL版本吗?
回声”==========================="
isinstallmysql57=" n "
回声“安装MySQL 5.7.21,请输入y”
读- p”(请输入y, n):“isinstallmysql57
“isinstallmysql57美元”
y y | |是的| |是的| |是的| |是的)
回声“你将安装MySQL 5.7.21”
isinstallmysql57=" y "
;;
*)
回声“输入错误,你将退出安装MySQL 5.7.21”
isinstallmysql57=" n "
退出
esac
get_char ()
{
SAVEDSTTY=' stty - g '
stty回声
stty cbreak
# dd如果=/dev/tty b=1数=1 2比;/dev/null
stty生
stty回声
stty SAVEDSTTY美元
}
回声”“
回声“按任意键开始…或按Ctrl + c来取消”
char=' get_char '
#初始化安装相关内容。
InitInstall()函数
{
猫/etc/issue
uname -
MemTotal=白杂? m | grep Mem | awk的{打印$ 2}' '
echo - e " \ n内存:$ {MemTotal} MB”
#设置时区
# rm射频/etc/localtime
# ln - s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
#删除旧Mysql程序
rpm qa | grep mysql
rpm - e mysql
#禁用SeLinux
如果(- s/etc/selinux/config);然后
sed - i ' s/SELINUX=执行/SELINUX=禁用/g’/etc/selinux/config
fi
setenforce 0
}
#安装依赖============================MySQL 5.7.21安装…………========================="
# mysql目录配置
cd/usr/local/src
tar xvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.21-linux-glibc2.12-x86_64/usr/local/mysql
groupadd mysql - g 512
useradd mysql - u 512 - g - s/sbin/nologin - d/home/mysql mysql
mkdir - p/数据/mysql
mkdir - p/数据/slowlog
乔恩- r mysql: mysql/数据/mysql
乔恩- r mysql: mysql/usr/local/mysql
乔恩- r mysql: mysql/数据/slowlog
#编辑/etc/my.cnf
SERVERID=' ifconfig eth0 | grep“inet”| awk的{打印$ 2}| awk - f。“{打印3 4美元}’”
猫在祝辞/etc/my.cnf<& lt; EOF
(客户端)
端口=3306
套接字=/tmp/mysql.sock
default-character-set=utf8
(mysql)
no-auto-rehash
default-character-set=utf8
(mysqld)
端口=3306
bind-address=0.0.0.0
character-set-server=utf8
套接字=/tmp/mysql.sock
pid文件=/数据/mysql/mysqld.pid
basedir=/usr/地方/mysql
datadir=/数据/mysql
explicit_defaults_for_timestamp=true
lower_case_table_names=1
back_log=103
max_connections=3000
max_connect_errors=100000
table_open_cache=512
外部锁=FALSE
max_allowed_packet=32 m
sort_buffer_size=16米
join_buffer_size=2米
thread_cache_size=51
query_cache_size=32 m
# query_cache_limit=4米
transaction_isolation=可重复读
tmp_table_size=96
max_heap_table_size=96
# # # * * * slowqueryparameters
long_query_time=1
slow_query_log=1
slow_query_log_file=/数据/slowlog/slow.log
# # # * * * binlogparameters
log-bin=mysql-bin
binlog_cache_size=4米
max_binlog_cache_size=4096
max_binlog_size=1024
binlog_format=混合
expire_logs_days=7
# # # * * * relay-logparameters
# relay-log=/数据/3307/relay-bin
# relay-log-info-file=/数据/3307/relay-log.info
# master-info-repository=表
# relay-log-info-repository=表
# relay-log-recovery=1
# * * * MyISAMparameters
key_buffer_size=16米
read_buffer_size=1米
read_rnd_buffer_size=16米
bulk_insert_buffer_size=1米
# skip-name-resolve
# # # * * * master-slavereplicationparameters
服务器id=$ SERVERID
# slave-skip-errors=所有
# * * * Innodbstorageengineparameters
通过innodb_buffer_pool_size=2 g #操作系统内存的70% - -80%最佳。
innodb_data_file_path=ibdata1:10M: autoextend
# innodb_file_io_threads=8
innodb_thread_concurrency=16
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16米
innodb_log_file_size=512
innodb_log_files_in_group=2
innodb_max_dirty_pages_pct=75
innodb_buffer_pool_dump_pct=50
innodb_lock_wait_timeout=50
innodb_file_per_table=了
(,mysqldump)
快速
max_allowed_packet=32 m
(myisamchk)
key_buffer=16米
sort_buffer_size=16米
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null