mysql5.6在ubuntu下的docker中安裝的方法詳解

這篇文章主要介紹了ubuntu下在dockerdockerdocker5.6 的方法,需要的朋友可以參考下

1.安裝mysql5.6

docker?run?mysql:5.6

等所有項目都是Download complet 安裝完畢

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.使用本地賬號創建一個文件夾用來映射docker中mysql的docker

其中繼續創建conf、data、logs 3個文件夾

我的配置如下

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

3.創建mysql容器

切換到root賬號進入到剛才創建的mysql1文件夾中

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

創建并啟動容器

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

給root設置密碼123456

4.啟動mysql容器

docker?start?mysql11

5.進入mysql的bash

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

其中 env LANG=C.UTF-8 bash 讓docker命令行支持中文

6.復制配置文件

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

7.登錄mysql

mysql?-u?root?-p

輸入密碼進入

8.查看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)

發現不是utf-8編碼

9.修改mysql編碼

dockermysql,退出docker

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

修改my.cnf配置文件

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

按i進入docker

加入

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

10.重啟docker的mysql再次查看編碼

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.docker

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

12.創建用戶并授權

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)

%表示任意IP(可以指定IP)、val是用戶名、123456是密碼

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享