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
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
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
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#
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
Définir le mot de passe pour root 123456
4. Démarrez le conteneur MySQL
docker start mysql11
5. Entrez mysql bash
docker exec -it mysql1 env LANG=C.UTF-8 bash
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
7. Connectez-vous à MySQL
mysql -u root -p
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)
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#
Modifier mon. fichier de configuration cnf
root@val-linux:/home/val/docker/mysql1# vim conf/my.cnf
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! 保存退出
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)
11.
mysql> create database rise; Query OK, 1 row affected (0.00 sec) mysql> use rise; Database changed
% 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)
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!