Tutorial zur Kompilierung, Installation und Initialisierung von Mysql5.6.36-Skripten

Tutorial zur Kompilierung, Installation und Initialisierung von Mysql5.6.36-Skripten

Ü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
2. Betriebssystemversion: centos7.3
3. Legen Sie install.py my.cnf und das MySQL-Installationspaket in einen Ordner

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:
  • Detailliertes Installationstutorial für die MySQL 5.6.36-Version für Windows x64
  • Grafisches Tutorial zur Installation der grünen Version von MySql 5.6.36 (64-Bit)

<<:  Sie müssen wahrscheinlich keine Switch-Anweisungen in JavaScript verwenden

>>:  Detaillierte Erläuterung der Frp-erzwungenen Umleitung zur https-Konfiguration unter Nginx

Artikel empfehlen

JS-Funktionsaufruf, Anwenden und Binden einer superdetaillierten Methode

Inhaltsverzeichnis JS-Funktionsaufruf, Apply- und...

Gutes Website-Copywriting und gute Benutzererfahrung

Das Betrachten einer Website ist eigentlich wie di...

Analyse des Prinzips der Verwendung von PDO zur Verhinderung von SQL-Injection

Vorwort Dieser Artikel verwendet die Vorverarbeit...

Detaillierte Analyse der Rolle von HTML-Kommentar-Tags <!--...-->

Wenn wir den Quellcode vieler Websites überprüfen...

Flex-Layout realisiert linken Textüberlauf und lässt rechte Textanpassung aus

Ich möchte eine Situation erreichen, in der die B...

Details zur Verwendung von „order by“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...

Lösung für den von Mysql systemctl start mysqld gemeldeten Fehler

Fehlermeldung: Der Job für mysqld.service ist feh...

MySQL-Prozesssteuerung: IF()-, IFNULL()-, NULLIF()-, ISNULL()-Funktionen

In MySQL können Sie die Funktionen IF(), IFNULL()...

So zeigen Sie im Hintergrund laufende Programme in Linux an und schließen sie

1. Führen Sie die .sh-Datei aus Sie können es dir...

Drei Möglichkeiten, um zu verhindern, dass MySQL doppelte Daten einfügt

Erstellen einer neuen Tabelle CREATE TABLE `Perso...

Was ist eine HTML-Datei? So öffnen Sie eine HTML-Datei

HTML steht für Hypertext Markup Language. Heutzut...

Müssen die Texte der Website noch gestaltet werden?

Viele fragen sich vielleicht: Muss der Text auf d...

So verwalten Sie MySQL-Indizes und Datentabellen

Inhaltsverzeichnis Tabellenkonflikte finden und b...

So stellen Sie Confluence und Jira-Software in Docker bereit

Version: centos==7.2 jdk==1.8 Zusammenfluss == 6....