Überblick Dieser Artikel ist ein Skript zum automatischen Kompilieren und Installieren von mysql5.3.6 auf centos7.3 und den nachfolgenden Initialisierungsvorgängen. Kommen wir ohne weitere Umschweife direkt zum Skript. Das Installationsskript install.py lautet wie folgt: #Kodierung=utf-8 #!/usr/bin/python Betriebssystem importieren, Befehle #Definieren Sie die Variable install_dir = '/data/mysql' Datenverzeichnis = "/Daten/mysql/Daten" Paketverzeichnis = "/data/mysql" log_dir = "/Daten/mysql/logs" aktuelles_dir = os.getcwd() cmake = 'cmake -DCMAKE_INSTALL_PREFIX=%s -DMYSQL_UNIX_ADDR=%s/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=%s -DMYSQL_TCP_PORT=3306' % (Installationsverzeichnis, Installationsverzeichnis, Datenverzeichnis) #Installieren Sie abhängige Pakete os.system('yum install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake perl -y') #Installationsfunktion def install_mysql(): wenn os.system('groupadd mysql') == 0: Drucken Sie „Gruppe MySQL erfolgreich hinzugefügt!“ anders: exit('Hinzufügen der MySQL-Gruppe fehlgeschlagen!') wenn os.system('useradd -r -g mysql -s /bin/false mysql') == 0: Drucken Sie „Benutzer MySQL erfolgreich hinzugefügt!“ anders: exit('Hinzufügen des MySQL-Benutzers fehlgeschlagen!') wenn nicht os.path.exists(install_dir): os.system('mkdir -p %s' % Installationsverzeichnis) wenn nicht os.path.exists(data_dir): os.system('mkdir -p %s' % Datenverzeichnis) wenn nicht os.path.exists(package_dir): os.system('mkdir -p %s' % Paketverzeichnis) wenn nicht os.path.exists(log_dir): os.system('mkdir -p %s' % log_dir) wenn os.system('tar zxvf mysql-5.6.36.tar.gz') == 0: print 'Dekomprimieren erfolgreich!' anders: exit('Das Dekomprimieren von mysql-5.6.36.tar.gz ist fehlgeschlagen!') os.chdir('mysql-5.6.36') wenn os.system(cmake) == 0: print 'Kompilierung erfolgreich' anders: exit('Kompilieren von MySQL fehlgeschlagen') wenn os.system('make && make install') == 0: print 'MySQL erfolgreich kompilieren und installieren' anders: exit('Kompilieren und Installieren von MySQL fehlgeschlagen') wenn os.system('chown -R mysql:mysql %s' % install_dir) == 0: print 'Berechtigungen für das Installationsverzeichnis erfolgreich konfiguriert' anders: Ausfahrt() os.system('chown -R mysql:mysql %s' % Datenverzeichnis) os.system('cd %s && touch mysql-error.log' % log_dir) os.system('chown -R mysql:mysql %s' % log_dir) os.chdir(Installationsverzeichnis) wenn os.system('./scripts/mysql_install_db --user=mysql --datadir=%s' % data_dir) == 0: print 'mysql-Initialisierung erfolgreich' anders: exit('MySQL-Initialisierung fehlgeschlagen') os.system('cp support-files/mysql.server /etc/init.d/mysqld') os.system('mv /etc/meine.cnf /etc/meine.cnf.bak') os.chdir(aktuelles_Verzeichnis) os.system('cp meine.cnf /etc/meine.cnf') os.system('Dienst mysqld starten') os.system('chkconfig mysqld ein') install_mysql() wenn os.path.exists('/etc/profile'): os.system('cp /etc/profile /etc/profile.bak') wenn os.system('echo "PATH=%s/bin:%s/lib:$PATH" >> /etc/profile' % (Installationsverzeichnis, Installationsverzeichnis)) == 0: print '/etc/profile erfolgreich geändert' anders: Ausfahrt() wenn os.system('echo "export PATH" >> /etc/profile') == 0: print 'Die Datei /etc/profile wurde erfolgreich geändert' anders: Ausfahrt() Konfigurationsdatei my.cnf [mysqld] basedir = /data/mysql Datenverzeichnis = /Daten/MySQL/Daten tmpdir = /data/mysql Socket = /data/mysql/mysql.sock externe Verriegelung überspringen Namensauflösung überspringen Kleinbuchstabentabellennamen = 1 auto_increment_offset = 1 auto_increment_increment = 2 #Server-ID ########### Binlog ########### log_bin = /Daten/mysql/logs/mysql-bin binlog_format = Zeile binlog_cache_size = 2M Ablaufprotokolle in Tagen = 7 ########### Fehlerprotokoll ########### log_error = /data/mysql/logs/mysql-error.log ########### langsames Protokoll ########### slow_query_log = 1 slow_query_log_file = /data/mysql/logs/mysql-slow.log lange_Abfragezeit = 5 ########### pro Thread-Puffer ########### max_Verbindungen = 1024 max_connect_errors = 1000 Schlüsselpuffergröße = 64 M max_allowed_packet = 128M table_open_cache = 6144 Tabellendefinitionscache = 4096 Sortierpuffergröße = 512 KB Lesepuffergröße = 512 KB Join-Puffergröße = 512 KB temporäre Tabellengröße = 64 M maximale Heap-Tabellengröße = 64 M Thread-Cache-Größe = 64 Thread_Parallelität = 32 bulk_insert_buffer_size = 64 MB ########innodb######## innodb_buffer_pool_size = 45 G innodb_log_file_size = 500 M innodb_log_buffer_size = 64 M innodb_flush_log_at_trx_commit = 2 innodb_file_per_table = 1 innodb_file_io_threads = 4 innodb_flush_method = O_DIRECT innodb_thread_concurrency = 0 innodb_additional_mem_pool_size = 16 M [mysqlhotcopy] Interaktives Timeout [mysqld_safe] Open_files_limit = 65535 Anwendung: 1. Das Betriebssystem muss die Yum-Quelle konfigurieren Downloadadresse für das MySQL-Installationspaket: Link: https://pan.baidu.com/s/1pKHbFlh Passwort: tx9b Initialisierung Da das kompilierte und installierte mysql5.6.36 standardmäßig kein Kennwort hat, geben Sie mysql direkt in die Befehlszeile ein, um sich anzumelden und die folgende SQL-Anweisung auszuführen -- Daten mit MySQL initialisieren; Benutzer aktualisieren, Passwort festlegen = PASSWORT("Abcd123"), wobei Benutzer = "root"; Gewähren Sie alle Berechtigungen für *.* an weihu@"%", identifiziert durch "Abcd123". Löschen aus mysql.user, wobei Benutzer = ''; FLUSH-PRIVILEGIEN; - Erstellen Sie eine Demodatenbank. CREATE DATABASE `demo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; Datenbanken anzeigen; Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Sie müssen wahrscheinlich keine Switch-Anweisungen in JavaScript verwenden
>>: Detaillierte Erläuterung der Frp-erzwungenen Umleitung zur https-Konfiguration unter Nginx
(Wenn eine Webseite geladen wird, gibt es manchma...
x-ua-compatible wird verwendet, um das Modell für...
Inhaltsverzeichnis Knoten-Ereignisschleife Ereign...
Ich habe heute mit der Arbeit an meinem Abschluss...
Der Zweck des Schreibens von Skripten besteht dar...
Für die Installation von Docker auf CentOS muss d...
Beim Schreiben einer Seite kommt es häufig vor, d...
1. Zwei Möglichkeiten zum Definieren von Reaktion...
Anaconda-Installation Anaconda ist ein Softwarepa...
Lernziele: Die beiden Funktionen parseInt() und N...
Das Projekt muss MySQL verwenden. Da ich es zuvor...
Heute stelle ich zwei HTML-Tags vor, die ich nich...
Dieser Artikel beschreibt anhand von Beispielen, ...
Mit dem BGCOLOR-Attribut kann die Hintergrundfarb...
In diesem Artikel werden die einzelnen Schritte d...