So installieren Sie MySQL 5.7.29 mit einem Klick mithilfe eines Shell-Skripts

So installieren Sie MySQL 5.7.29 mit einem Klick mithilfe eines Shell-Skripts

Dieser Artikel bezieht sich auf die Arbeit des 51CTO-Blogautors wjw555

Skriptinhalt:

vim install.mysql.sh
 
#!/bin/bash
 
[ -f /etc/init.d/funktionen ]&& . /etc/init.d/funktionen
 
###Überprüfen Sie, ob der Benutzer root ist
wenn [ $UID -ne 0 ]; dann
 echo "Fehler: Sie müssen Root sein, um dieses Skript auszuführen. Bitte verwenden Sie Root zur Installation."
 Ausfahrt 1
fi
 
klar
echo "================================================================================="
echo „Ein Tool zum automatischen Kompilieren und Installieren von MySQL 5.7.29 unter Redhat/CentOS Linux“
echo "================================================================================="
#pkill -9 MySQL
#Datum +%J-%m-%d-%H-%M
#Deinstallieren Sie das systemeigene 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
 
#MySQL-Root-Passwort festlegen
 echo "============================="
  mysqlrootpwd="$1"
  wenn [ "$1" = "" ]; dann
    mysqlrootpwd="rootmysql"
  fi
 
#Welche MySQL-Version möchten Sie installieren?
echo "============================="
 
 isinstallmysql57="5.7.29"
 echo "Installieren Sie MySQL 5.7.29. Bitte geben Sie y ein"
 read -p "(Bitte geben Sie j, n ein):"
# Initialisieren Sie den installationsbezogenen Inhalt.
 #Altes MySQL-Programm löschen
 rpm -qa|grep mysql
 rpm -e mysql
 
 
Katze >>/etc/security/limits.conf<<EOF
* weicher nproc 65535
* harter nproc 65535
* Soft-Nofile 65535
* hartes Nofile 65535
Ende der Laufzeit
 
echo "fs.file-max=65535" >> /etc/sysctl.conf
 
echo "=============================MySQL 5.7.29 installieren======================================"
 
#Alte my.cnf sichern
#rm -f /etc/my.cnf
wenn [ -s /etc/my.cnf ]; dann
 mv /etc/my.cnf /etc/my.cnf.`date +%Y%m%d%H%M%S`.bak
fi
echo "============================MySQL 5.7.29 wird installiert…………============================"
 
##MySQL-Verzeichniskonfigurationsvariable definieren
Datadir=/Daten/mysql/Daten
Binlogdir=/Daten/mysql/binlog
Logdir=/Daten/mysql/logs
 
##yum installiere devel und wget mysql
yum installiere 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
Schlaf 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=$?
wenn [ $RETVAL -ne 0 ];dann
 useradd mysql -s /sbin/nologin -M
  Aktion „MySQL-Benutzer erfolgreich hinzugefügt“ /bin/true
 anders
  Aktion " $(echo -e "\e[31;47;5m MySQL-Benutzer existiert bereits\e[0m")" /bin/false
fi
 
wenn [ ! -d "$Datadir" ]
Dann
 mkdir -p /Daten/MySQL/Daten
fi
 
 
wenn [ ! -d "$Binlogdir" ]
Dann
 mkdir -p /data/mysql/binlog
fi
 
wenn [ ! -d "$Logdir" ]
Dann
 mkdir -p /data/mysql/logs
fi
 
chown -R mysql:mysql /data/mysql
chown -R mysql:mysql /usr/local/mysql
 
# /etc/my.cnf bearbeiten
#SERVERID=`ifconfig eth0 | grep "inet addr" | awk '{ print $2}'| awk -F. '{ print $3$4}'`
Katze >>/etc/my.cnf<<EOF
[Kunde]
Port = 3306
 
[mysql]
automatische Wiederaufbereitung
Eingabeaufforderung="\\u@\\h [\\d]>"
#pager="weniger -i -n -S"
#tee=/opt/mysql/query.log
 
[mysqld]
####: für global
Benutzer =mysql       
basedir =/usr/local/mysql/    
Datenverzeichnis = /Daten/MySQL/Daten 
Server-ID = 2333306      
Port =3306       
Zeichensatzserver =utf8       
explizite_Standards_für_Zeitstempel = aus       
log_timestamps = System      
Socket = /tmp/mysql.sock    
schreibgeschützt = 0        
skip_name_resolve =1        
auto_increment_increment =1        
auto_increment_offset =1        
Kleinbuchstaben-Tabellennamen = 1        
secure_file_priv =        
Open_files_limit = 65536       
max_Verbindungen = 1000       
Thread-Cache-Größe = 64       
Tabelle_öffnen_Cache =81920       
Tabellendefinitionscache = 4096       
Tabelle_öffnen_Cache-Instanzen = 64       
Anzahl der vorbereiteten Stmts = 1048576      
 
####: für Binlog
binlog_format = Zeile       
log_bin = /Daten/mysql/binlog/mysql-bin      
binlog_rows_query_log_events = ein       
log_slave_updates = ein       
Ablaufprotokolltage =7        
binlog_cache_size = 65536       
#binlog_checksum =keine       
sync_binlog = 1        
Slave-Bewahrung-Commit-Reihenfolge = EIN       
 
####: für Fehlerprotokoll
log_error = /data/mysql/logs/error.log      
 
general_log = aus       
general_log_file = /data/mysql/logs/general.log     
 
####: für langsames Abfrageprotokoll
slow_query_log = ein        
slow_query_log_file = /data/mysql/logs/slow.log      
#log_queries_not_using_indexes = ein       
lange_Abfragezeit = 1,000000      
 
####: für gtid
#gtid_executed_compression_period = 1000       
gtid_mode = ein        
enforce_gtid_consistency = ein        
 
####: für die Replikation
skip_slave_start = 1        
#master_info_repository =Tabelle       
#relay_log_info_repository =Tabelle       
Slave_Parallel_Typ = logische_Uhr     
Slave_Parallel_Worker = 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      
 
####: für innodb
Standardspeichermaschine = 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 = /Daten/mysql/Daten      
innodb_log_files_in_group = 3       
innodb_log_file_size = 1024 M      
innodb_file_per_table = ein      
innodb_online_alter_log_max_size = 128 M      
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-Dirty-Pages aktualisieren)
innodb_print_all_deadlocks = ein      
innodb_deadlock_detect = ein      
innodb_lock_wait_timeout = 20      
innodb_spin_wait_delay = 128      
innodb_autoinc_lock_mode = 2       
innodb_io_capacity = 200      
innodb_io_capacity_max = 2000      
#--------Persistente Optimiererstatistiken
innodb_stats_auto_recalc = ein      
innodb_stats_persistent = ein      
innodb_stats_persistent_sample_pages = 20      
 
 
innodb_adaptive_hash_index = ein      
innodb_change_buffering =alles      
innodb_change_buffer_max_size = 25      
innodb_flush_neighbors = 1       
#innodb_flush_method =       
innodb_doublewrite = ein      
innodb_log_buffer_size = 128 M      
innodb_flush_log_at_timeout = 1       
innodb_flush_log_at_trx_commit = 1       
innodb_buffer_pool_size =4096M      
innodb_buffer_pool_instances = 4
automatisches Commit =1       
#--------innodb-Scan-resistent
innodb_old_blocks_pct = 37      
innodb_old_blocks_time = 1000      
#--------innodb vorauslesen
innodb_read_ahead_threshold = 56      
innodb_random_read_ahead = AUS      
#--------InnoDB-Pufferpoolstatus
innodb_buffer_pool_dump_pct = 25      
innodb_buffer_pool_dump_at_shutdown =EIN      
innodb_buffer_pool_load_at_startup =EIN      
 
Ende der Laufzeit
 
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
Pass=$(grep 'Ein temporäres Passwort' /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 auf
/etc/init.d/mysqld starten
echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
Quelle /etc/profile.d/mysql.sh
echo "============================MySQL 5.7.29-Installation abgeschlossen============================"
ps -eo start,cmd,pid|grep mysql
/usr/local/mysql/bin/mysqladmin -uroot -p"$Pass" Passwort $mysqlrootpwd
[root@localhost ~]# sh install.mysql.sh mysqlroot
[root@localhost ~]# Quelle /etc/profile.d/mysql.sh

Hinweis: mysqlroot ist das neue Passwort, nachdem das Installationsskript das Standardpasswort des MySQL-Dienstes geändert hat

[root@localhost ~]# mysql -uroot -p'mysqlroot' -e "Jetzt auswählen()"   
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
+---------------------+
| jetzt() |
+---------------------+
| 13.10.2020 16:18:47 |
+---------------------+

An diesem Punkt wurde der MySQL-Dienst erfolgreich gestartet!

Zusammenfassen

Dies ist das Ende dieses Artikels über die Installation von MySQL 5.7.29 mit einem Klick unter Verwendung eines Shell-Skripts. Weitere Informationen zur Installation von MySQL mit einem Klick unter Verwendung eines Shell-Skripts finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Shell-Skript zur Überwachung des MySQL-Master-Slave-Status
  • Gemeinsame MySQL-Sicherungsbefehle und Shell-Sicherungsskripte
  • Shell-Skript zum regelmäßigen Sichern und Aufbewahren von MySQL-Datenbankdaten für einen bestimmten Zeitraum
  • Shell-Skript automatisiert die Erstellung der Grundkonfiguration virtueller Maschinen: tomcat--mysql--jdk--maven
  • Shell-Skript zum Implementieren geplanter MySQL-Sicherungs-, Lösch- und Wiederherstellungsfunktionen
  • Ein kleines Shell-Skript zum genauen Zählen der Zeilenanzahl in jeder MySQL-Tabelle
  • Erstellen Sie MySQL-Datenbankkonten auf dem Server stapelweise über Shell-Skripte
  • So fügen Sie mithilfe eines Shell-Skripts einen Index zu MySQL hinzu
  • Beenden Sie eine Reihe von MySQL-Datenbanken mit nur einem Shell-Skript wie diesem (empfohlen)
  • So verwenden Sie Shell-Skripte, um täglich automatisch mehrere MySQL-Datenbanken zu sichern
  • Einführung und Installation von MySQL Shell

<<:  Beispielcode für die JS-Funktion „Anti-Shake“ und „Throttling“ zur Entwicklung von Webprojekten

>>:  Der Unterschied zwischen JS-Pre-Parsing und Variablen-Promotion im Web-Interview

Artikel empfehlen

Probleme bei der Installation von MySQL und mysql.sock unter Linux

Vor kurzem traten bei der Installation von Apache...

Vue3 + TypeScript-Entwicklungszusammenfassung

Inhaltsverzeichnis Vue3 + TypeScript lernen 1. Um...

js-Methode zum Löschen eines Felds in einem Objekt

Dieser Artikel stellt hauptsächlich die Implement...

So erstellen Sie PHP7 mit einem benutzerdefinierten Docker-Image

Führen Sie zunächst eine einfache Docker-Installa...

Detaillierte Erläuterung der MySQL-Cursor-Konzepte und -Verwendung

Dieser Artikel erläutert anhand von Beispielen da...

Beispiel einer Skriptmethode für die Bindung von Linux-Dualnetzwerkkarten

Bei der Bedienung und Konfiguration von Linux wir...

20 CSS-Codierungstipps für mehr Effizienz (sortiert)

In diesem Artikel möchten wir eine Sammlung von 2...

Was ist Webdesign

<br />Originalartikel: http://www.alistapart...

Mysql, einige komplexe SQL-Anweisungen (Abfragen und Löschen doppelter Zeilen)

1. Suchen Sie nach doppelten Zeilen Wählen Sie * ...

So paginieren Sie schnell MySQL-Datenmengen im zweistelligen Millionenbereich

Vorwort Um bei der Backend-Entwicklung zu verhind...

Native JS-Implementierung des Ladefortschrittsbalkens

Dieser Artikel zeigt einen Spezialeffekt für dyna...