MariaDB10自动化安装部署
去MariaDB官网下载MariaDB本文用的是MariaDB10.1.16
https://downloads.mariadb.org
选择二进制版本,下载到/root目录下
mariadb-10.1.16-linux-x86_64.tar.gz
开始安装
[root@HE3~]#catmariadb_auto_install.sh
######二进制自动安装数据库脚本root密码MANAGER将脚本和安装包放在/root目录即可###############
######数据库目录/usr/local/mysql############
######数据目录/data/mysql############
######日志目录/log/mysql############
######端口号默认3306其余参数按需自行修改############
##################
#author:rrhelei@126.com#
##################
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:~/bin
exportPATH
#Checkifuserisroot
if[$(id-u)!="0"];then
echo"Error:Youmustberoottorunthisscript,pleaseuseroottoinstall"
exit1
fi
clear
echo"========================================================================="
echo"Atooltoauto-compile&installMariaDB-10.1.16onRedhat/CentOSLinux"
echo"========================================================================="
cur_dir=$(pwd)
#setmysqlrootpassword
echo"==========================="
mysqlrootpwd="MANAGER"
echo-e"Pleaseinputtherootpasswordofmysql:"
read-p"(Defaultpassword:MANAGER):"mysqlrootpwd
if["$mysqlrootpwd"=""];then
mysqlrootpwd="MANAGER"
fi
echo"==========================="
echo"MySQLrootpassword:$mysqlrootpwd"
echo"==========================="
#whichMySQLVersiondoyouwanttoinstall?
echo"==========================="
isinstallmysql56="n"
echo"Installmariadb-10.1.16,Pleaseinputy"
read-p"(Pleaseinputy,n):"isinstallmysql56
case"$isinstallmysql56"in
y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)
echo"YouwillinstallMariaDB10.1.16"
isinstallmysql56="y"
;;
)
echo"INPUTerror,YouwillexitinstallMariaDB10.1.16"
isinstallmysql56="n"
exit
esac
get_char()
{
SAVEDSTTY=`stty-g`
stty-echo
sttycbreak
#ddif=/dev/ttybs=1count=12>/dev/null
stty-raw
sttyecho
stty$SAVEDSTTY
}
echo""
echo"Pressanykeytostart...orPressCtrl+ctocancel"
char=`get_char`
#Initializetheinstallationrelatedcontent.
functionInitInstall()
{
cat/etc/issue
uname-a
MemTotal=`free-m|grepMem|awk''{print$2}''`
echo-e"\nMemoryis:${MemTotal}MB"
#Settimezone
rm-rf/etc/localtime
ln-s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
#DeleteOldMysqlprogram
rpm-qa|grepmysql
rpm-emysql
#DisableSeLinux
if[-s/etc/selinux/config];then
sed-i''s/SELINUX=enforcing/SELINUX=disabled/g''/etc/selinux/config
fi
setenforce0
}
#Installationofdependonandoptimizationoptions.
functionInstallDependsAndOpt()
{
cd$cur_dir
cat>>/etc/security/limits.conf< softnproc65535
hardnproc65535
softnofile65535
hardnofile65535
EOF
echo"fs.file-max=65535">>/etc/sysctl.conf
}
#InstallMySQL
functionInstallMySQL56()
{
echo"============================InstallMariaDB10.1.16=================================="
cd$cur_dir
#Backupoldmy.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`.bakfi
#mysqldirectoryconfiguration
groupaddwww.wang027.commysql-g512
useradd-u512-gmysql-s/sbin/nologin-d/home/mysqlmysql
tarxvf/root/mariadb-10.1.16-linux-x86_64.tar.gz
mv/root/mariadb-10.1.16-linux-x86_64/usr/local/mysql
mkdir-p/data/mysql
mkdir-p/log/mysql
chown-Rmysql:mysql/data/mysql
chown-Rmysql:mysql/usr/local/mysql
chown-Rmysql:mysql/log
SERVERID=`ifconfigeth0|grep"inetaddr"|awk''{print$2}''|awk-F.''{print$4"3306"}''`
cat>>/etc/my.cnf< [client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
port=3306
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql
open_files_limit=3072
back_log=103
max_connections=800
max_connect_errors=100000
table_open_cache=512
external-locking=FALSE
max_allowed_packet=32M
sort_buffer_size=2M
join_buffer_size=2M
thread_cache_size=51
query_cache_size=32M
tmp_table_size=96M
max_heap_table_size=96M
slow_query_log=1
slow_query_log_file=/log/mysql/slow.log
log-error=/log/mysql/error.log
long_query_time=1
server-id=$SERVERID
log-bin=/log/mysql/mysql-bin
sync_binlog=1
binlog_cache_size=4M
max_binlog_cache_size=8M
max_binlog_size=1024M
expire_logs_days=60
key_buffer_size=32M
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M
character-set-server=utf8
default-storage-engine=InnoDB
binlog_format=row
innodb_buffer_pool_dump_at_shutdown=1
innodb_buffer_pool_load_at_startup=1
binlog_rows_query_log_events=1
explicit_defaults_for_timestamp=1
#log_slave_updates=1
#gtid_mode=on
#enforce_gtid_consistency=1
#innodb_write_io_threads=8
#innodb_read_io_threads=8
#innodb_thread_concurrency=0
transaction_isolation=REPEATABLE-READ
innodb_additional_mem_pool_size=16M
innodb_buffer_pool_size=512M
#innodb_data_home_dir=
innodb_data_file_path=ibdata1:1024M:autoextend
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
innodb_log_file_size=512M
innodb_log_files_in_group=2
innodb_max_dirty_pages_pct=50
innodb_file_per_table=1
innodb_locks_unsafe_for_binlog=0
wait_timeout=14400
interactive_timeout=14400
skip-name-resolve
[mysqldump]
quick
max_allowed_packet=32M
EOF
/usr/local/mysql/scripts/mysql_install_db--basedir=/usr/local/mysql--datadir=/data/mysql--defaults-file=/etc/my.cnf--user=mysql
cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld
chmod700/etc/init.d/mysqld
chkconfig--addmysql
chkconfig--level2345mysqldon
cat>>/etc/ld.so.conf.d/mysql-x86_64.conf< /usr/local/mysql/lib
EOF
ldconfig
if[-d"/proc/vz"];then
ulimit-sunlimited
fi
/etc/init.d/mysqldstart
cat>>/etc/profile< exportPATH=$PATH:/usr/local/mysql/bin
exportLD_LIBRARY_PATH=/usr/local/mysql/lib
EOF
/usr/local/mysql/bin/mysqladmin-urootpassword$mysqlrootpwd
cat>/tmp/mysql_sec_script< usemysql;
deletefrommysql.userwhereuser!=''root''orhost!=''localhost'';
flushprivileges;
EOF
/usr/local/mysql/bin/mysql-uroot-p$mysqlrootpwd-hlocalhost
#rm-f/tmp/mysql_sec_script
/etc/init.d/mysqldrestart
source/etc/profile
echo"============================MariaDB10.1.16installcompleted========================="
}
functionCheckInstall()
{
echo"=====================================Checkinstall==================================="
clear
ismysql=""
echo"Checking..."
if[-s/usr/local/mysql/bin/mysql]&&[-s/usr/local/mysql/bin/mysqld_safe]&&[-s/etc/my.cnf];then
echo"MySQL:OK"
ismysql="ok"
else
echo"Error:/usr/local/mysqlnotfound!!!MySQLinstallfailed."
fi
if["$ismysql"="ok"];then
echo"MariaDB10.1.16completed!enjoyit."
echo"========================================================================="
netstat-ntl
else
echo"Sorry,FailedtoinstallMySQL!"
echo"Youcantail/root/mysql-install.logfromyourserver."
fi
}
#Theinstallationlog
InitInstall2>&1|tee/root/mysql-install.log
CheckAndDownloadFiles2>&1|tee-a/root/mysql-install.log
InstallDependsAndOpt2>&1|tee-a/root/mysql-install.log
InstallMySQL562>&1|tee-a/root/mysql-install.log
CheckInstall2>&1|tee-a/root/mysql-install.log
[root@HE3~]#mysql-uroot-p
Enterpassword:
WelcometotheMariaDBmonitor.Commandsendwith;or\g.
YourMariaDBconnectionidis6
Serverversion:10.1.16-MariaDBMariaDBServer
Copyright(c)2000,2016,Oracle,MariaDBCorporationAbandothers.
Type''help;''or''\h''forhelp.Type''\c''toclearthecurrentinputstatement.
MariaDB[(none)]>showdatabases;
+--------------------+
|Database|
+--------------------+
|information_schema|
|mysql|
|performance_schema|
|test|
+--------------------+
4rowsinset(0.00sec)
至此,mariadb-10.1.16安装成功
|
|