Linux服务器下MariaDB 10自动化安装部署
去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<<EOF *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`.bak fi #mysqldirectoryconfiguration groupaddmysql-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<<EOF [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<<EOF /usr/local/mysql/lib EOF ldconfig if[-d"/proc/vz"];then ulimit-sunlimited fi /etc/init.d/mysqldstart cat>>/etc/profile<<EOF 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<<EOF usemysql; deletefrommysql.userwhereuser!='root'orhost!='localhost'; flushprivileges; EOF /usr/local/mysql/bin/mysql-uroot-p$mysqlrootpwd-hlocalhost</tmp/mysql_sec_script #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安装成功