docker mysql 容器安裝筆記

來源:互聯網
上載者:User

標籤:版本   sea   search   儲存   mysql   empty   set   ini   tag   

Basic Steps for MySQL Server Deployment with Docker1 尋找適合的mysql鏡像,選擇合適的版本

docker search -f stars=3 -f is-official=true mysql--尋找tag為mysql,stars大於3官方鏡像

2 下載

docker pull mysql:5.7

3 運行

(1)docker run -d --name mysql01 mysql:5.7

說明 此處通過查看日誌(docker logs mysql01)不能正常啟動,需要運行時傳入指定的參數

錯誤提示: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 run -d -e MYSQL_ROOT_PASSWORD=password --name mysql01 mysql:5.7

4 查看日誌

docker logs mysql01

5 查看運行情況

docker ps

6 訪問mysql容器

docker exec –it mysql01 bash

7 建立新使用者

mysql> CREATE USER ‘jack‘@‘localhost‘ IDENTIFIED BY ‘pwd123456‘;

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘jack‘@‘localhost‘ WITH GRANT OPTION;

mysql> CREATE USER ‘jack‘@‘%‘ IDENTIFIED BY ‘pwd123456‘;

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘jack‘@‘%‘

    ->WITH GRANT OPTION;

 

Mysql 配置和資料內容 掛載 volume

 

Key: Host上的檔案系統 與 docker 容器中的檔案的映射

1 在host建立自定目錄使用者儲存配置和資料的目錄,用於docker mysql容器中相應檔案的映射

比如:

host目錄

mysql docker 容器目錄

/root/Software/docker/mysql/config/my.cnf

/etc/my.cnf

/root/Software/docker/mysql/data

/var/lib/mysql

說明 host下建立的my.cnf 檔案 需要初始內容

my.cnf:

[mysqld]

user=mysql

2 運行

docker run -d -p 3307:3307 -v=/root/Software/docker/mysql/config/my.cnf:/etc/my.cnf -v=/root/Software/docker/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=password --name mysql01 mysql:5.7

 

2  bash 進入mysql01 docker容器,登入mysql 查看預設字元集

> docker exec -it mysql01 bash

>mysql –uroot –p

......

>show variables like ‘%char%’;

說明:顯示為lanti字元集

 

3 修改mysql字元集為utf-8,通過修改my.cnf完成

my.cnf:

 

[mysqld]

user=mysql

character-set-server=utf8

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

 

4 刪除當前容器

>docker stop mysql01

>docker rm mysql01

5 重新啟動一個新容器

docker run -d -p 3307:3307 -v=/root/Software/docker/mysql/config/my.cnf:/etc/my.cnf -v=/root/Software/docker/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=password --name mysql01 mysql:5.7

6 查看字元集,此時預設使用了之前修改後的字元集utf-8

說明:配置被共用了,目的:容器刪除 後資料檔案也會刪除, 掛載可以實現資料的持久化和共用

 

參考資料:

Mysql 官網:https://dev.mysql.com/doc/refman/5.7/en/docker-mysql-more-topics.html

學習群石墨文檔:https://shimo.im/docs/anrlYMFEYloN52c8/

Xmind 文檔 : docker的基本命令

Docker命令文檔:https://docs.docker.com/engine/reference/commandline

docker mysql 容器安裝筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.