Docker installiert MySql8.x
1. Installieren Sie das MySQL 8.x-Docker-Image
Die neueste Version ist 8.0.31
docker pull mysql:8.0.31
2. Erstellen Sie einen MySQL-Container
- Erstellen Sie ein MySQL-Zuordnungsverzeichnis
mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
- Erstellen Sie einen Container, ordnen Sie Daten, Protokolle und Konfigurationsdateien der Maschine zu
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.31
3. Starten oder starten Sie MySQL neu
docker restart mysql
docker start mysql
4. Lösen Sie das Problem des Navicat-Linkfehlers 2059
Standardmäßig lässt mysql8.x nur zu, dass über die Befehlszeile eine Verbindung zum Client hergestellt wird. Wenn also Navicat zum Herstellen einer Verbindung verwendet wird, wird eine Meldung angezeigt2059 - authentication plugin caching_sha2_password
- in den Behälter
docker exec -it mysql bash
- Login-Datenbank
mysql -uroot -p123456
- Skript ausführen
alter user 'root'@'%' identified by '123456' password expire never;
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
Fertig, loggen Sie sich einfach erneut ein!