Install mysql5.6 in docker in ubuntu, dockermysql5.6
1. Install mysql5.6
docker run mysql:5.6
Download complet installation is complete for all projects.
5.6: Pulling from library/mysql10a267c67f42: 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:84372107beb1de34bd4673049ea61bc35f374a2b4f19fd5a3abd4d0a2a50b715Status: Downloaded newer image for mysql:5.6error: 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. Create a folder with a local account to map the mysql configuration file in docker
Create three folders, conf, data, and logs.
My configuration is as follows:
val@val-linux:~/docker/mysql1$ pwd/home/val/docker/mysql1val@val-linux:~/docker/mysql1$ lsconf data logs
3. Create a mysql container
Switch to the root account and go to the mysql1 folder you just created.
root@val-linux:/home/val# cd /home/val/docker/mysql1/root@val-linux:/home/val/docker/mysql1#
Create and start a container
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 ing docker port 33061 with local port 3306 to the container name mysql1 map mysql conf with local/home/val/docker/mysql1/conf to local/home/val/docker/mysql1 /logs ing mysql logs map mysql mysql_data with local/home/val/docker/mysql1/data
Set Password 123456 for root user
4. Start the mysql container
docker start mysql11
5. Enter mysql bash
docker exec -it mysql1 env LANG=C.UTF-8 bash
Among them, env LANG = C.UTF-8 bash makes docker command line support Chinese
6. Copy the configuration file
cp /usr/my.cnf /etc/mysql/my.cnf
7. log on to mysql
mysql -u root -p
Enter the password
8. View mysql Encoding
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)
UTF-8 encoding not found
9. Modify mysql Encoding
Exit mysql and docker
mysql> exitByeroot@8b83a30acbf8:/# exitexitroot@val-linux:/home/val/docker/mysql1#
Modify my. cnf configuration file
root@val-linux:/home/val/docker/mysql1# vim conf/my.cnf
Press I to enter the editing mode
Join
[Client] default-character-set = utf8 [mysql] default-character-set = utf8 [mysqld] character-set-server = utf8 1esc: wq! Save and exit
10. Restart mysql of docker to view the code again.
root@val-linux:/home/val/docker/mysql1# docker stop mysql1mysql1root@val-linux:/home/val/docker/mysql1# docker start mysql1mysql1root@val-linux:/home/val/docker/mysql1# docker exec -it mysql1 env LANG=C.UTF-8 bashroot@8b83a30acbf8:/# mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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. Create a database
mysql> create database rise;Query OK, 1 row affected (0.00 sec) mysql> use rise;Database changed
12. Create and authorize a user
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)
% Indicates any IP address (IP address can be specified), val indicates the user name, And 123456 indicates the password.
The above section describes how to install mysql5.6 in docker in ubuntu. I hope it will be helpful to you. If you have any questions, please leave a comment, the editor will reply to you in time!