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
Vor kurzem traten bei der Installation von Apache...
eins. Zuerst müssen Sie es in eine Idee verpacken...
1. Anforderungsbeschreibung Zeigt das Löschsymbol...
Inhaltsverzeichnis Vue3 + TypeScript lernen 1. Um...
Dieser Artikel stellt hauptsächlich die Implement...
Führen Sie zunächst eine einfache Docker-Installa...
Dieser Artikel erläutert anhand von Beispielen da...
Bei der Bedienung und Konfiguration von Linux wir...
Inhaltsverzeichnis Wo ist der Quellcode des Apple...
In diesem Artikel möchten wir eine Sammlung von 2...
<br />Originalartikel: http://www.alistapart...
1. Suchen Sie nach doppelten Zeilen Wählen Sie * ...
Ich habe mich vor Kurzem mit Responsive Design be...
Vorwort Um bei der Backend-Entwicklung zu verhind...
Dieser Artikel zeigt einen Spezialeffekt für dyna...