Maison > base de données > tutoriel mysql > Explication détaillée de l'installation de l'instance mysql5.6 dans Docker sous Ubuntu

Explication détaillée de l'installation de l'instance mysql5.6 dans Docker sous Ubuntu

小云云
Libérer: 2018-01-17 10:37:05
original
1969 Les gens l'ont consulté

Cet article présente principalement la méthode d'installation de mysql5.6 dans docker sous ubuntu. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

1. Installez mysql5.6


docker run mysql:5.6
Copier après la connexion

et tous les autres projets sont téléchargés complets et installés


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
Copier après la connexion

2. Utilisez un compte local pour créer un dossier pour mapper le fichier de configuration MySQL dans Docker

Continuer à créer des configurations, des données, logs 3 dossiers

Ma configuration est la suivante


val@val-linux:~/docker/mysql1$ pwd
/home/val/docker/mysql1
val@val-linux:~/docker/mysql1$ ls
conf data logs
Copier après la connexion

3. Créer un conteneur mysql

Basculez vers le compte root et entrez le dossier mysql1 que vous venez de créer


root@val-linux:/home/val# cd /home/val/docker/mysql1/
root@val-linux:/home/val/docker/mysql1#
Copier après la connexion

Créez et démarrez le conteneur


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
Copier après la connexion

Définir le mot de passe pour root 123456

4. Démarrez le conteneur MySQL


docker start mysql11
Copier après la connexion

5. Entrez mysql bash


docker exec -it mysql1 env LANG=C.UTF-8 bash
Copier après la connexion

où env LANG=C.UTF-8 bash permet à la ligne de commande docker de prendre en charge le chinois

6. Copiez le fichier de configuration


cp /usr/my.cnf /etc/mysql/my.cnf
Copier après la connexion

7. Connectez-vous à MySQL


mysql -u root -p
Copier après la connexion

Entrez votre mot de passe

8. Vérifiez l'encodage mysql


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)
Copier après la connexion

et constatez qu'il ne s'agit pas d'utf-8. encoding

9 .Modifier l'encodage mysql

Quitter mysql, quitter docker


mysql> exit
Bye
root@8b83a30acbf8:/# exit
exit
root@val-linux:/home/val/docker/mysql1#
Copier après la connexion

Modifier mon. fichier de configuration cnf


root@val-linux:/home/val/docker/mysql1# vim conf/my.cnf
Copier après la connexion

Appuyez sur i pour entrer en mode édition

Rejoindre


[client] default-character-set=utf8 
[mysql] default-character-set=utf8 
[mysqld] character-set-server=utf8 1
esc :wq! 保存退出
Copier après la connexion

10. Redémarrez Docker MySQL à nouveau. Afficher l'encodage


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)
Copier après la connexion

11.


12. Créer un utilisateur et autoriser
mysql> create database rise;
Query OK, 1 row affected (0.00 sec) 
mysql> use rise;
Database changed
Copier après la connexion


% représente n'importe quelle adresse IP (l'adresse IP peut être spécifié), val est le nom d'utilisateur, 123456 est le mot de passe

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)
Copier après la connexion
Recommandations associées :


Créer une application Laravel basée sur Docker à partir de zéro

Comment utiliser Docker pour déployer un environnement de développement PHP

Un exemple simple d'installation de MySQL avec Docker

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal