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:
|
<<: 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
Über Semantik Die Semantik ist die Lehre von der ...
Ich habe kürzlich in der Firma an einem Projekt g...
Im vorherigen Artikel wurde beschrieben, wie man ...
Ergebnisse erzielen Code html <div Klasse=&quo...
Einführung Wenn wir die MySQL-Datenbank verwenden...
Inhaltsverzeichnis Schnellstart Anwendung Grundpr...
Finden Sie das Problem Nach dem Upgrade von MySQL...
Logo-Optimierung: 1. Das Logobild sollte so klein...
1. Einleitung MySQL-Sperren können je nach Umfang...
Inhaltsverzeichnis 1. Häufige Fehler von Anfänger...
Inhaltsverzeichnis 1. beforeCreate und erstellte ...
Dieser Artikel beschreibt, wie Sie einen sekundär...
1. Vorbereitung 1.1 Laden Sie das Python-Installa...
In diesem Artikelbeispiel wird der spezifische Co...
1. Holen Sie sich das MySQL-Image Docker-Pull MyS...