Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung der Installation der MySQL5.6-Instanz in Docker unter Ubuntu

Detaillierte Erläuterung der Installation der MySQL5.6-Instanz in Docker unter Ubuntu

小云云
小云云Original
2018-01-17 10:37:051900Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Installation von MySQL5.6 in Docker unter Ubuntu vorgestellt. Freunde, die es benötigen, können sich darauf beziehen.

1. Installieren Sie mysql5.6


docker run mysql:5.6

und alle anderen Projekte sind abgeschlossen und installiert


5.6: Pulling from library/mysql
10a267c67f42: Pull complete 
c2dcc7bb2a88: Pull complete 
17e7a0445698: Pull complete 
9a61839a176f: Pull complete 
d4657fda01d9: Pull complete 
c5278a445e5d: Pull complete 
197c0b76f238: Pull complete 
f54c5432bac4: Pull complete 
c26b15abee8a: Pull complete 
80dbe6022c18: Pull complete 
435678c09612: Pull complete 
Digest: sha256:84372107beb1de34bd4673049ea61bc35f374a2b4f19fd5a3abd4d0a2a50b715
Status: Downloaded newer image for mysql:5.6
error: database is uninitialized and password option is not specified 
 You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

2. Verwenden Sie ein lokales Konto, um einen Ordner zu erstellen, um die MySQL-Konfigurationsdatei in Docker zuzuordnen

Fahren Sie mit der Erstellung von Conf, Data, fort. protokolliert 3 Ordner

Meine Konfiguration ist wie folgt


val@val-linux:~/docker/mysql1$ pwd
/home/val/docker/mysql1
val@val-linux:~/docker/mysql1$ ls
conf data logs

3. Erstellen Sie einen MySQL-Container

Wechseln Sie zum Root-Konto und geben Sie den Ordner mysql1 ein, den Sie gerade erstellt haben


root@val-linux:/home/val# cd /home/val/docker/mysql1/
root@val-linux:/home/val/docker/mysql1#

Container erstellen und starten


docker run -p 33061:3306 --name mysql1 -v $PWD/conf:/etc/mysql -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.61
用本地33061端口映射docker的3306端口 
给容器命名mysql1 
用本地/home/val/docker/mysql1/conf映射mysql的conf 
用本地/home/val/docker/mysql1/logs映射mysql的logs 
用本地/home/val/docker/mysql1/data映射mysql的mysql_data

Passwort für Root 123456 festlegen

4. Starten Sie den MySQL-Container


docker start mysql11

5. Geben Sie mysql bash


docker exec -it mysql1 env LANG=C.UTF-8 bash

ein, wobei env LANG=C.UTF-8 bash der Docker-Befehlszeile ermöglicht, Chinesisch zu unterstützen

6. Kopieren Sie die Konfigurationsdatei


cp /usr/my.cnf /etc/mysql/my.cnf

7 Melden Sie sich bei MySQL an


mysql -u root -p

Geben Sie Ihr Passwort ein

8. Überprüfen Sie die MySQL-Kodierung


mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name      | Value           |
+--------------------------+----------------------------+
| character_set_client   | latin1           |
| character_set_connection | latin1           |
| character_set_database  | latin1           |
| character_set_filesystem | binary           |
| character_set_results  | latin1           |
| character_set_server   | latin1           |
| character_set_system   | utf8            |
| character_sets_dir    | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)

und stellen Sie fest, dass es sich nicht um UTF-8 handelt Kodierung

9 .MySQL-Kodierung ändern

MySQL beenden, Docker beenden


mysql> exit
Bye
root@8b83a30acbf8:/# exit
exit
root@val-linux:/home/val/docker/mysql1#

Meine ändern. cnf-Konfigurationsdatei


root@val-linux:/home/val/docker/mysql1# vim conf/my.cnf

Drücken Sie i, um in den Bearbeitungsmodus zu gelangen

Beitreten


[client] default-character-set=utf8 
[mysql] default-character-set=utf8 
[mysqld] character-set-server=utf8 1
esc :wq! 保存退出

10. Starten Sie Docker MySQL erneut. Anzeigen der Codierung


root@val-linux:/home/val/docker/mysql1# docker stop mysql1
mysql1
root@val-linux:/home/val/docker/mysql1# docker start mysql1
mysql1
root@val-linux:/home/val/docker/mysql1# docker exec -it mysql1 env LANG=C.UTF-8 bash
root@8b83a30acbf8:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.36 MySQL Community Server (GPL)
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name      | Value           |
+--------------------------+----------------------------+
| character_set_client   | utf8            |
| character_set_connection | utf8            |
| character_set_database  | latin1           |
| character_set_filesystem | binary           |
| character_set_results  | utf8            |
| character_set_server   | latin1           |
| character_set_system   | utf8            |
| character_sets_dir    | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Datenbank erstellen


mysql> create database rise;
Query OK, 1 row affected (0.00 sec) 
mysql> use rise;
Database changed

12. Benutzer erstellen und autorisieren


mysql> grant all privileges on rise.* to val@'%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

% repräsentiert jede IP (IP kann sein angegeben), val ist der Benutzername, 123456 ist das Passwort

Verwandte Empfehlungen:

Eine Docker-basierte Laravel-Anwendung von Grund auf erstellen

So verwenden Sie Docker, um eine PHP-Entwicklungsumgebung bereitzustellen

Ein einfaches Beispiel für die Installation von MySQL mit Docker

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Installation der MySQL5.6-Instanz in Docker unter Ubuntu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn