Kurze Anleitung zur Installation von MySQL (MySQL-Installation), Lektion, Seite 722366
https://www.purl.org/stefan_ram/pub/mysql-installation (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
SQL-Kurs

MySQL -Installation

Diese Webseite sammelt verschiedene Notizen zur Installation verschiedener MySQL-Versionen.

Wenn man MySQL  selber mit dem Installationsprogramm installiert

Installationskript für Version 8.0, Revision 18

Dateinamenserweiterungen aktivieren!

Dienst eventuell von zweiter Arbeitsfläche starten! (Win-Strg-D, Win-Strg-Rechts)

Installationsskript

Das Installationsskript sollte sich in dem MySQL-Ordner befinden, der den Ordner »bin« enthält.

Die sich ergebenden Skripte müssen nach Verteilung mit X:\Alle unter demselben Pfad ausgeführt werden, wie beim Erstellen der Skripte.

slrinit.cmd

set ver=8.0

set version=MySQL-%ver%

set rev=18

set os=win

set revision=mysql-%ver%.%rev%-%os%

IF EXIST %SystemRoot%\SysWOW64\control.exe (SET ARC=x64) ELSE SET ARC=32

set product=%revision%%ARC%

SET MY0CMDTMP0=%~dp0

SET MY0CMDTMP0=%CD%

SET MY0CMDTMP1=%MY0CMDTMP0:\=\\%

ECHO %MY0CMDTMP0%

rmdir /S/Q data

TIMEOUT 2

"%MY0CMDTMP0%\bin\mysqld.exe" --initialize

TIMEOUT 2

ECHO [mysqld]>my.ini

ECHO basedir=%MY0CMDTMP1%>>my.ini

ECHO datadir=%MY0CMDTMP1%\\data>>my.ini

ECHO secure-file-priv="">>my.ini

ECHO ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'vhsblnkurs';>mys.txt

ECHO SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;>>mys.txt

ECHO SET GLOBAL sql_mode = 'ANSI,TRADITIONAL';>>mys.txt

ECHO "%MY0CMDTMP0%\bin\mysql.exe" --port 5120 -uroot -p>my.cmd

ECHO Start.

ECHO PAUSE>>my.cmd

"%MY0CMDTMP0%\bin\mysqld.exe" --initialize

ECHO PLEASE PRESS RETURN AFTER 10 seconds.

ECHO "%MY0CMDTMP0%\bin\mysqld.exe" --defaults-file="%MY0CMDTMP1%\\my.ini" --port 5120 --init-file="%MY0CMDTMP1%\\mys.txt" --console --standalone --explicit_defaults_for_timestamp=1 -uroot>myd.cmd

start myd.cmd

timeout /t 5

start my.cmd

PAUSE

Notizen zur manuellen Installation von Version 8.0, Revision 18

Finden und Abrufen des Installationsarchivs

Suchmaschine
MySQL community Windows download
Fragmente
dev.mysql.com/downloads/mysql/
(Der Inhalt der obenstehenden Seite hängt möglicherweise vom Betriebssystem  des Klienten ab.)
dev.mysql.com/downloads/file/?id=490026
„No thanks, just start my download.“

dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-winx64.zip

cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-winx64.zip

Entpacken des Installationsarchivs
Aufrufe

Dateinamenserweiterungen aktivieren!

Aus dem Order, der »bin« enthält:

(Optional: Win-Strg-D, Win-Strg-Rechts)

Vorbereitung des Dienstes
bin\mysqld.exe --initialize
my.ini
[mysqld]
secure-file-priv=""

»copy my.ini %WINDIR%«?

mys.txt

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'vhsblnkurs';>mys.txt

ECHO SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;>>mys.txt

ECHO SET GLOBAL sql_mode = 'ANSI,TRADITIONAL';>>mys.txt

Start des Dienstes
bin\mysqld.exe --console --standalone --port 5120 --explicit_defaults_for_timestamp=1 <mys.txt
Ablesen der Passierzeichen aus

data\zzz.err

gvym!=n2G3Cw

Start des Klienten

bin\mysql.exe --port 5120 --user=root -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'vhsblnkurs';

Netzdienste

Liste

https://sqltest.net/

http://rextester.com/l/mysql_online_compiler

https://www.tutorialspoint.com/mysql_terminal_online.php

https://www.jdoodle.com/online-mysql-terminal

Microsoft Visual C++ 2017 Redistributable Package

Vor der Installation von MySQL  sollte das Microsoft Visual C++ 2017 Redistributable Package  (früher: Microsoft Visual C++ 2017 Redistributable Package , zuvor: Microsoft Visual C++ 2013 Redistributable Package ) installiert werden, da einige Bestandteile von MySQL  (wie beispielsweise die Workbench , der Connector/C++ oder der Proxy) nur danach installiert werden können.

Abruf von MySQL 

Das Programm kann unter der folgenden Webseite gefunden werden.

http://dev.mysql.com/downloads/mysql/

Auf jener Webseite kann das Betriebsystem angewählt werden. Für Windows gibt es dort ein Installationsprogramm, welches dies Software dann automatisch richtig installieren soll. Nach Anwahl dieses Programms muß auf der nächsten Seite noch gewählt werden, ob das Installationsprogramm für Rechner mit oder ohne Internetverbindung abgerufen werden soll. Erscheint dann eine Werbung, wie “Login Now or Sign Up for a free account.”, so kann diese mit “No thanks, just start my download.” (weiter unten auf der Seite) ausgeblendet werden.

Eine URI für den Abruf des Installationsprogramms für die Installation ohne Internetverbindung war beispielsweise

http://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.6.14.0.msi/from/http://cdn.mysql.com/

Verfallen von Passierwörtern

Nach Ablauf von einigen Monaten sieht die Datenbank Passierwörter als ungültig an und verlangt vom Benutzer das Setzen neuer Passierwörter. Bei vielen Kommandos erscheint dann eine der folgenden Meldungen.

Meldungen
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
ERROR 1820: You must SET PASSWORD before executing this statement

In diesem Fall können neue Passierwörter durch Eingabe der folgenden Zeilen festgelegt werden.

Eingabe
SET PASSWORD FOR 'root'@'localhost' = PASSWORD( 'vhsblnkurs' );
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD( 'vhsblnkurs' );
SET PASSWORD FOR 'root'@'%' = PASSWORD( 'vhsblnkurs' );
FLUSH PRIVILEGES;

Manchmal reicht auch schon die folgende kürzere Eingabe aus.

Eingabe
SET PASSWORD = PASSWORD( 'vhsblnkurs' );

Eine andere Möglichkeit zeigt die folgende Zeile.

Eingabe (»ALTER USER« ist ab MySQL 5.7.6 verfügbar und wohl Nachfolger von »SET PASSWORD«)

ALTER USER USER() IDENTIFIED BY 'vhsblnkurs';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'vhsblnkurs';

Wenn ein MySQL-Server für den Dauerbetrieb bei einem Kunden installiert wird, sollte die Gültigkeitsdauer von Passierwörtern eventuell durch das Setzen auf den Wert »0« deaktiviert werden, damit der Server nicht plötzlich mitten im Betrieb das Umstellen das Passierwort verlangt, wenn vielleicht gar kein dafür Geschulter in der Nähe ist, der das Problem verstehen und beheben kann!

Deaktivieren des automatischen Verfalls von Passierwörtern für einen speziellen Benutzer
ALTER USER 'root'@'127.0.0.1' PASSWORD EXPIRE NEVER;
Deaktivieren des automatischen Verfalls von Passierwörtern für alle Benutzer
SET default_password_lifetime = 0;
SET GLOBAL default_password_lifetime = 0;

Da die globale Einstellung für alle Benutzer durch die Einstellung für einzelne Benutzer überschrieben  werden kann, sollte zum Verhindern des automatischen Verfalls von Passierwörtern der automatische Verfall für alle Benutzer einmal mit den gezeigte SET-Anweisungen und dann noch einmal für jeden Benutzer mit einer ALTER-Anweisung deaktiviert werden.

Das Nach-unten-Fahren des Datenbankdienstes *

Kommando
mysqladmin shutdown --port 5120 -uroot -p

Installationshinweise *

Zum Umfang der Installation (falls bei der Installation ausgewählt werden kann, was installiert werden soll): Für Übungen mit MySQL -Kommandos wird nur der „Server“ (dies ist das eigentliche Datenbanksystem) benötigt, eventuelle zusätzliche Software könnte für spezielle Zwecke ebenfalls nützlich sein. Bei entsprechenden Fragen kann die Installation in der “Standard Configuration ” als “Windows Service ” gewählt werden.

Sicherheitshinweise *

Sicherheitsbewußte Anwender sollten den Server mit individuellen Einstellungen installieren, und dann die Option abwählen, welche es anbietet, ein Loch zu anderen Rechnern in der Firewall einzurichten. Nur von und nach 127.0.0.1 wird Zugang zum Anschluß 3306 benötigt. Außerdem sollte ein sicheres password  festgelegt werden. Eine zusätzliche Sicherheitsmaßnahme besteht darin, den Server nur bei Bedarf zu starten und nicht ständig laufen zu lassen. Eine zusätzliche Sicherheitsmaßnahme besteht darin, einen anderen Anschluß als 3306 zu verwenden.

Zip-Archiv mit MySQL  *

Die Installation mit dem Installationsprogramm soll MySQL  eigentlich automatisch so installieren, daß dies sofort genutzt werden kann.

Falls es dabei Schwierigkeiten gibt, so ist es alternativ noch möglich, ein Zip-Archiv abzurufen, das dann ohne Installation verwendet werden kann.

Zip-Archiv, Startseite für Abrufe (2015-09)
http://www.mysql.com/downloads/
Zip-Archiv, Community Edition, URI (2015-09)
http://dev.mysql.com/downloads/
Zip-Archiv, MySQL Community Server (2015-09)
http://dev.mysql.com/downloads/mysql/
Zip-Archiv, MySQL Community Server, 32 bit (2015-09)
http://dev.mysql.com/downloads/file.php?id=458257
Zip-Archiv, MySQL Community Server, 64 bit (2015-09)
http://dev.mysql.com/downloads/file.php?id=458258
Download-Link (2015-09)
No thanks, just start my download.
Download-URI (2015-11-10)
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-winx64.zip
Download-URI (2015-11-10)
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.9-win32.zip
Download-URI (ältere URIs)

http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.26-winx64.zip

http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26-winx64.zip

http://dev.mysql.com/downloads/mirror.php?id=414400

http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-win32.zip/from/http://cdn.mysql.com/

http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.26-win32.zip

Das Zip-Archiv wird entpackt.

Das oberste Verzeichnis, also dasjenige Verzeichnis, welches seinerseits Unterverzeichnisse wie »bin« oder »data« enthält, nennen wir nun „L“. In diesem Verzeichnis wird dann die folgende Datei angelegt (darin ist »L« durch den Pfad dieses Verzeichnisses L zu ersetzen, wobei inverse Schrägstriche zu verdoppeln sind).

my.ini
[mysqld]
basedir=L
datadir=L\\data

Diese Datei kann beispielsweise so aussehen:

C:\\mysql-5.6.14-win32\\mysql-5.6.14-win32\\my.ini

[mysqld]

basedir=C:\\mysql-5.6.14-win32\\mysql-5.6.14-win32

datadir=C:\\mysql-5.6.14-win32\\mysql-5.6.14-win32\\data

Start des Dienstes *

Nach dem Anlegen der Konfigurationsdatei »my.ini« kann der Dienst durch das folgende Kommando gestartet werden.

myd.cmd

"L\bin\mysqld.exe" --defaults-file="L\my.ini" --console --standalone --explicit_defaults_for_timestamp=1 -uroot

PAUSE

Auch in diesen Kommandos ist »L« wieder durch den Pfad des Verzeichnisses L zu ersetzen.

Die Option »--defaults-file« sollte verwendet werden und sie sollte die erste Option sein.

Die verwendeten Optionen
--defaults-file=Pfad  verwendet den absoluten Pfad Pfad  als Konfigurationsquelle
--console Hält die Konsole offen und schreibt Fehlermeldungen nach stdout und stderr
-uroot Der Benutzername wird als root  festgelegt
-standalone Legt fest, daß das Programm nicht als Dienst laufen soll
http://dev.mysql.com/doc/refman/5.1/en/server-options.html
Die Systemvariablen
--explicit_defaults_for_timestamp Diese Angabe wird hier nur verwendet, um eine Warnungsmeldung zu vermeiden, aber kann oder sollte sonst weggelassen werden
http://dev.mysql.com/doc/en/server-system-variables.html
Weitere mögliche Optionen
--verbose Gibt mehr Informationen aus
--group_concat_max_len=32768 Setzt die Variable »group_concat_max_len« auf den Wert »32768«, dies ist hier nur als Beispiel zum Einstellen von Variablen angegeben.

Falls eine firewall  nun anbietet, Löcher für das Programm zu öffnen, ist es nicht nötig, dies zuzulassen.

Der Dienst kann über die Prozeßverwaltung von Windows  dann wieder beendet werden, falls er nicht einfach durch Schließen des Fensters geschlossen wird.

Eine eventuelle Fehlermeldung »ibdata1 can't be opened in read-write mode« kann daran liegen, daß MySQL keine Reche hat, um auf die Datei »ibdata« zuzugreifen. Mögliche Ursachen: Es läuft schon eine Inkarnation des Programms, in der ISBN INI-Datei steht das falsche Verzeichnis oder MySQL hat keine ausreichenden Rechte zum Zugriff auf das Verzeichnis

Start des Klienten *

Der Klient (ein Hilfsprogramm, um Kommandos an den Dienst zu senden) kann mit dem folgenden Kommando gestartet werden:

my.cmd

"L\bin\mysql.exe" -uroot

PAUSE

Die folgenden Eingaben sichern das System etwas ab, können aber auch etwas später noch eingegeben werden, nachdem die Handhabung des Klienten schon etwas vertrauter geworden ist.

Hinweis für den Dozenten  ► ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

Eingaben
SET PASSWORD FOR 'root'@'localhost' = PASSWORD( 'vhsblnkurs' );
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD( 'vhsblnkurs' );
SET PASSWORD FOR 'root'@'%' = PASSWORD( 'vhsblnkurs' );
FLUSH PRIVILEGES;
Quelle *
http://dev.mysql.com/doc/en/default-privileges.html

Nach dem Festlegen des passwords  ist dann noch die Option »-p« anzufügen, damit beim Start des Klienten nach dem password  gefragt wird.

my.cmd
"L\bin\mysql.exe" -uroot -p
Die Optionen
-uroot  legt root  als Benutzernamen fest
-p legt fest, daß nach dem password  gefragt wird
http://dev.mysql.com/doc/mysql-command-options.html
Die Optionen
--port 5120 legt Port 5120 fest (der Fehlwert ist 3306)

Protokoll von Verbindungsversuchen *

Mit offener Firewall, ohne password

$ telnet 192.168.0.1 3306

Trying 192.168.0.1...

Connected to 192.168.0.1.

Escape character is '^]'.

>Host 'remote' is not allowed to connect to this MySQL serverConnection closed by foreign host.

Mit geschlossener Firewall, ohne password

$ telnet 192.168.0.1 3306

Trying 192.168.0.1...

telnet: Unable to connect to remote host: Connection timed out

Automatische Zip-Installation *

Das folgende Skript ist experimentell, ungetestet und derzeit noch nicht verwendbar !

»DownloadFile« verwendet den Systembrowser zum Download via Standard-Proxy, daher ist keine zusätzliche Öffnung der Schutzmauer nötig. Es gibt keine Fortschrittsanzeige, aber im Ordner kann die Dateigröße beobachtet werden. Der Abruf der Datei aus dem Web kann lange (bis zu zirka einer Stunde) dauern. Während dieser Zeit tut das Skript scheinbar nichts.

Die Revision »5.6.25« ist im folgenden nur beispielhaft zu verstehen. Sie kann bei Bedarf in eine aktuelle Versionsnummer, wie beispielsweise »5.7.9«, verändert werden.

Das Skript kann beschleunigt werden, indem die Datei »mysql-5.6.25-win32.zip« (beziehungsweise unter einem 64-Bit-System »mysql-5.6.25-winx64.zip«) manuell nach »%USERPROFILE%\Documents\« kopiert wird. Umgekehrt kann bei Problemen mit dem Skript zuerst das entpackte Verzeichnis oder dann sogar die Zip-Datei gelöscht werden, um ein neues Entpacken beziehungsweise Herkopieren anzustoßen.)

Anleitung

Informationen

Die Kommando-Datei legt verschiedene Hilfsdateien im MySQL -Ordner an: mit

Installationsskript für Version 8.0

Vor der Installation sollte sichergestellt sein, daß Microsoft C++ redistributable 2017  installiert wurde.

Ansonsten kann das folgende Installationsskript nach Anpassung von »ver« und »rev« verwendet werden.

Hinweise zu eventuellen Problemen

Fehlermeldung beim Versuch, MySQL-Programme zu starten

Die Fehlermeldung

„Die Anwendung konnte nicht korrekt gestartet werden (0x000007b). Klicken Sie auf "OK", um die Anwendung zu schließen.“

The application was unable to start correctly (0x000007b). Click OK to close application.

kommt eventuell von einem fehlenden Microsoft C++ redistributable 2017.

Fehlermeldung beim Versuch, das Microsoft C++ redistributable 2015  zu installieren

Bei der Installation des Microsoft C++ redistributable 2015  kann es zu einer Meldung kommen, die sinngemäß besagt, der Benutzer habe die Installation abgebrochen.

„0x80070642 - Die Installation wurde vom Benutzer abgebrochen.“

0x80070642 - User cancelled installation.

Hier kann es helfen, das Installationsprogramm als Administrator zu starten (eventuell auch UAC vorübergehend zu reduzieren und das Installationsprogramm ohne Internetverbindung zu starten).

Installation von Version 8.0, Revision 13 im Raume 301 (2018-10-30)

(Windows 10 )

Installationsskript für Version 5.7, Revision 23 (gekürzte Version von 2018-09)

Die Installationen mit den Zip-Archiven sind recht mühevoll, da sich verschiedene Details von einer Revision zur nächsten ändern, so daß das Installationsverfahren immer wieder angepaßt werden muß.

Warnung: Das alte data-Verzeichnis wird durch das Skript gelöscht!

Wenn »secure-file-priv« nicht gesetzt ist, verwendet der Dienst einen Fehlwert dafür, was bedeutet, daß Dateien nur nach »MySQL Server 5.7/Uploads« geschrieben werden können. Durch »secure-file-priv=""« in »my.ini« wird diese Einschränkung außer Kraft gesetzt. (Ein Risiko bei dieser Einstellung besteht darin, daß ein MySQL-Benutzer nun ausführbare Programme in das Verzeichnis »lib\plugin« schreiben könnten, was aber für Personen, die MySQL auf ihrem eigenen Rechner benutzen, weniger riskant ist.)

slrinit.cmd

set ver=5.7

set version=MySQL-%ver%

set rev=23

set os=win

set revision=mysql-%ver%.%rev%-%os%

IF EXIST %SystemRoot%\SysWOW64\control.exe (SET ARC=x64) ELSE SET ARC=32

set product=%revision%%ARC%

SET MY0CMDTMP0=%~dp0

SET MY0CMDTMP0=%CD%

SET MY0CMDTMP1=%MY0CMDTMP0:\=\\%

ECHO %MY0CMDTMP0%

rmdir /S/Q data

TIMEOUT 2

"%MY0CMDTMP0%\

TIMEOUT 2

ECHO [mysqld]>my.ini

ECHO basedir=%MY0CMDTMP1%>>my.ini

ECHO datadir=%MY0CMDTMP1%\\data>>my.ini

ECHO secure-file-priv="">>my.ini

copy my.ini %WINDIR%

ECHO ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'vhsblnkurs';>mys.txt

ECHO SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;>>mys.txt

ECHO SET GLOBAL sql_mode = 'ANSI,TRADITIONAL';>>mys.txt

ECHO "%MY0CMDTMP0%\bin\mysql.exe" --port 5120 -uroot ^<mys.txt>myinit.cmd

ECHO "%MY0CMDTMP0%\bin\mysql.exe" --port 5120 -uroot -p>my.cmd

ECHO Start.

ECHO PAUSE>>my.cmd

ECHO "%MY0CMDTMP0%\bin\mysqld.exe" --defaults-file="%MY0CMDTMP1%\\my.ini" --port 5120 --init-file="%MY0CMDTMP1%\\mys.txt" --console --standalone --explicit_defaults_for_timestamp=1 -uroot>myd.cmd

start myd.cmd

timeout /t 5

call myinit.cmd

start my.cmd

PAUSE

Installationsskript für Version 5.7, Revision 16

Laut der folgenden Seite muß ein Verzeichnis »data« mit der Server-Option »--initialize« angelegt werden.

https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html

Es kann allerdings sein, daß es auch schon reicht im Basisverzeichnis der Installation manuell einen Ordner »data« anzulegen.

Im Raum 310:

MySQL-Zip unter D:\Daten entpacken und dann dieses Skript dort hineinkopieren und starten.

web.cmd

IF EXIST %SystemRoot%\SysWOW64\control.exe (SET ARC=x64) ELSE SET ARC=32

IF EXIST %SystemRoot%\SysWOW64\control.exe (SET EXT=64) ELSE SET "EXT="

set ver=5.7

set rev=16

set os=win

set version=MySQL-%ver%

set revision=mysql-%ver%.%rev%-%os%

set product=%revision%%ARC%

REM setlocal enableextensions enabledelayedexpansion

for /f "tokens=1,2*" %%A in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" 2^>nul') do set DOCUMENTS=%%C

REM Hier gegebenenfalls DOCUMENTS auf Zielordner setzen.

set DOCUMENTS=D:\Daten

ECHO(

ECHO *** Stefan Rams My-SQL-Installationsskript, Version 2017-11-21 ***

ECHO(

ECHO Bitte Verzeichnis "%PRODUCT%" oder Datei "%PRODUCT%.zip" in Verzeichnis "%DOCUMENTS%" kopieren!

ECHO(

ECHO Benoetigt wird also das Verzeichnis "%DOCUMENTS%\%PRODUCT%"

ECHO(

ECHO oder die Datei "%DOCUMENTS%\%PRODUCT%.zip".

ECHO(

ECHO Falls Sie beides nicht haben, wird es automatisch per Web herkopiert werden.

ECHO(

PAUSE

set POWERSHELL=%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

IF NOT EXIST %POWERSHELL% SET %POWERSHELL%=powershell.exe

if exist C:\Windows\Microsoft.NET\Framework%EXT%\v3.5\csc.exe ^

set CSC=C:\Windows\Microsoft.NET\Framework%EXT%\v3.5\csc.exe

if exist C:\Windows\Microsoft.NET\Framework%EXT%\v4.0.30319\csc.exe ^

set CSC=C:\Windows\Microsoft.NET\Framework%EXT%\v4.0.30319\csc.exe

cd /d %DOCUMENTS%

GOTO NOUNZIP

IF EXIST %product%.zip GOTO NODOWNLOAD

ECHO Fernherkopieren.

%POWERSHELL% -Command ^

( new-object System.Net.WebClient ).DownloadFile^

( 'http://cdn.mysql.com/Downloads/%version%/%product%.zip', ^

'%product%.zip' )

:NODOWNLOAD

IF EXIST %product%\bin GOTO NOUNZIP

ECHO Entpacken.

echo class ProgramToUnzipMySQL ^

{ static void Main( string[]s )^

{ System.IO.Compression.ZipFile.ExtractToDirectory^

( "%product%.zip", ^

"." ); }} >ProgramToUnzipMySQL.cs

"%CSC%" /reference:System.IO.Compression.FileSystem.dll ProgramToUnzipMySQL.cs

ProgramToUnzipMySQL.exe

del ProgramToUnzipMySQL.*

:NOUNZIP

ECHO Konfiguration.

cd /d %product%

IF NOT EXIST bin GOTO WRONGDIR

IF NOT EXIST bin\mysql.exe GOTO WRONGDIR

mkdir D:\Daten\mysql-5.7.16-win32\data

SET MY0CMDTMP0=%~dp0

SET MY0CMDTMP0=%CD%

SET MY0CMDTMP1=%MY0CMDTMP0:\=\\%

ECHO %MY0CMDTMP0%

ECHO [mysqld]>my.ini

ECHO basedir=%MY0CMDTMP1%>>my.ini

ECHO datadir=%MY0CMDTMP1%\\data>>my.ini

copy my.ini %WINDIR%

ECHO SET PASSWORD FOR 'root''localhost' = PASSWORD( 'vhsblnkurs' );>mys.txt

ECHO SET PASSWORD FOR 'root''127.0.0.1' = PASSWORD( 'vhsblnkurs' );>>mys.txt

ECHO SET PASSWORD FOR 'root''%%' = PASSWORD( 'vhsblnkurs' );>>mys.txt

ECHO FLUSH PRIVILEGES;>>mys.txt

ECHO SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;>>mys.txt

ECHO SET GLOBAL sql_mode = 'ANSI,TRADITIONAL';>>mys.txt

ECHO EXIT;>>mys.txt

ECHO "%MY0CMDTMP0%\bin\mysql.exe" --port 5120 -uroot ^<mys.txt>myinit.cmd

ECHO "%MY0CMDTMP0%\bin\mysql.exe" --port 5120 -uroot -p>my.cmd

ECHO Start.

ECHO PAUSE>>my.cmd

REM --defaults-file option must be at the beginning of the options list

REM -sql_log_bin=0 --general_log=0 --log_syslog=0

ECHO "%MY0CMDTMP0%\bin\mysqld.exe" -sql_log_bin=0 --defaults-file="%MY0CMDTMP1%\\my.ini" --port 5120 --init-file=Q"%MY0CMDTMP1%\\mys.txt" --console --standalone --explicit_defaults_for_timestamp=1 -uroot>myd.cmd

start myd.cmd

timeout /t 5

call myinit.cmd

REM type myinit.cmd

start my.cmd

PAUSE

EXIT

:WRONGDIR

ECHO THIS IS NOT THE basedir (BINDATA) DIRECTORY!

PAUSE

EXIT

Notiz zur Festlegung eines Ports in »my.ini«

[mysqld]

port=3306

Älteres Installationsskript für Version 5.6

web.cmd

@IF EXIST %SystemRoot%\SysWOW64\control.exe (SET ARC=x64) ELSE SET ARC=32

@set ver=5.6

@set rev=25

@set os=win

@set version=MySQL-%ver%

@set revision=mysql-%ver%.%rev%-%os%

@set product=%revision%%ARC%

@REM setlocal enableextensions enabledelayedexpansion

@for /f "tokens=1,2*" %%A in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" 2^>nul') do set DOCUMENTS=%%C

@REM Hier gegebenenfalls DOCUMENTS auf Zielordner setzen.

@REM set DOCUMENTS=%USERPROFILE%\Documents\

@ECHO(

@ECHO *** Stefan Rams My-SQL-Installationsskript, Version 2015-11-10 ***

@ECHO(

@ECHO Bitte Verzeichnis "%PRODUCT%" oder Datei "%PRODUCT%.zip" in Verzeichnis "%DOCUMENTS%" kopieren!

@ECHO(

@ECHO Benoetigt wird also das Verzeichnis "%DOCUMENTS%\%PRODUCT%"

@ECHO(

@ECHO oder die Datei "%DOCUMENTS%\%PRODUCT%.zip".

@ECHO(

@ECHO Falls Sie beides nicht haben, wird es automatisch per Web herkopiert werden.

@ECHO(

@PAUSE

@set POWERSHELL=%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

@IF NOT EXIST %POWERSHELL% SET %POWERSHELL%=powershell.exe

@if exist C:\Windows\Microsoft.NET\Framework64\v3.5\csc.exe set CSC=C:\Windows\Microsoft.NET\Framework64\v3.5\csc.exe

@if exist C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe set CSC=C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe

@cd /d %DOCUMENTS%

@IF EXIST %product%.zip GOTO NODOWNLOAD

@ECHO Fernkopieren.

@REM http://dev.mysql.com/downloads/workbench/ http://dev.mysql.com/downloads/connector/

@%POWERSHELL% -Command ^
( new-object System.Net.WebClient ).DownloadFile( 'http://cdn.mysql.com/Downloads/%version%/%product%.zip', '%product%.zip' )

:NODOWNLOAD

@IF EXIST %product%\bin GOTO NOUNZIP

@ECHO Entpacken.

@echo class ProgramToUnzipMySQL { static void Main( string[]s ) { System.IO.Compression.ZipFile.ExtractToDirectory ( @"%product%.zip", @"." ); }} >ProgramToUnzipMySQL.cs

@"%csc%" /reference:System.IO.Compression.FileSystem.dll ProgramToUnzipMySQL.cs

@ProgramToUnzipMySQL.exe

:NOUNZIP

@del ProgramToUnzipMySQL.*

@ECHO Konfiguration.

@cd /d %product%

@IF NOT EXIST bin GOTO WRONGDIR

@IF NOT EXIST bin\mysql.exe GOTO WRONGDIR

@IF NOT EXIST data GOTO WRONGDIR

@SET MY0CMDTMP0=%~dp0

@SET MY0CMDTMP0=%CD%

@SET MY0CMDTMP1=%MY0CMDTMP0:\=\\%

@ECHO %MY0CMDTMP0%

@ECHO [mysqld]>my.ini

@ECHO basedir=%MY0CMDTMP1%>>my.ini

@ECHO datadir=%MY0CMDTMP1%\\data>>my.ini

@ECHO SET PASSWORD FOR 'root'@'localhost' = PASSWORD( 'vhsblnkurs' );>mys.txt

@ECHO SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD( 'vhsblnkurs' );>>mys.txt

@ECHO SET PASSWORD FOR 'root'@'%%' = PASSWORD( 'vhsblnkurs' );>>mys.txt

@ECHO FLUSH PRIVILEGES;>>mys.txt

@ECHO SET GLOBAL TRANSACTION ISOLATION LEVEL SERIALIZABLE;>>mys.txt

@ECHO SET GLOBAL sql_mode = 'ANSI,TRADITIONAL';>>mys.txt

@ECHO EXIT;>>mys.txt

@ECHO "%MY0CMDTMP0%\bin\mysql.exe" --port 5120 -uroot ^<mys.txt>myinit.cmd

@ECHO "%MY0CMDTMP0%\bin\mysql.exe" --port 5120 -uroot -p>my.cmd

@ECHO Start.

@ECHO PAUSE>>my.cmd

@REM --defaults-file option must be at the beginning of the options list

@ECHO "%MY0CMDTMP0%\bin\mysqld.exe" --defaults-file="%MY0CMDTMP1%\\my.ini" --port 5120 --init-file="%MY0CMDTMP1%\\mys.txt" --console --standalone --explicit_defaults_for_timestamp=1 -uroot>myd.cmd

@start myd.cmd

@timeout /t 5

@REM call myinit.cmd

@REM type myinit.cmd

@start my.cmd

@PAUSE

@EXIT

:WRONGDIR

@ECHO THIS IS NOT THE basedir (BINDATA) DIRECTORY!

@PAUSE

@EXIT

@REM http://dev.mysql.com/doc/mysql/en/windows-install-archive.html

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722366 stefan_ram:722366 MySQL-Installation Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722366, slrprddef722366, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/mysql-installation