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
Detaillierte Erläuterung des Konfigurationsprozes...
Hintergrund-Threads •Hauptthread Der Kern-Hinterg...
Das Jupyter-Notebook wird unter dem Docker-Contai...
In diesem Artikel wird der spezifische Code für J...
Inhaltsverzeichnis 1. Seiten-Rendering 2. Tags hi...
Inhaltsverzeichnis 1. Selbstsortierung der Tabell...
Vorwort Im WeChat-Applet können Sie globalData vo...
Nachdem die Quelle des Iframes auf „about:blank“ g...
Wie oben gezeigt, sind Füllwerte zusammengesetzte...
Navigationsleiste erstellen: Technische Vorausset...
Wenn wir den MySQL-Dienst verwenden, beträgt die ...
Inhaltsverzeichnis Vorwort Generierung eines Redo...
Kommen wir ohne weitere Umschweife direkt zum Cod...
Inhaltsverzeichnis Hintergrund DHCP konfigurieren...
Inhaltsverzeichnis 1. Vom Benutzer erstelltes Skr...