配色: 字号:
MariaDB10自动化安装部署
2016-09-05 | 阅:  转:  |  分享 
  
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安装成功

献花(0)
+1
(本文系thedust79首藏)