天天看點

docker安裝mysql-簡單無坑

文章目錄

1.切換root使用者

2.下載下傳鏡像檔案

docker pull mysql:5.7      

3.建立執行個體并啟動

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7      

出現一長串的id即表示mysql啟動成功

【端口映射與檔案挂載】

參數說明

-p 3306:3306:将容器的 3306 端口映射到主機的 3306 端口

-name:容器名稱

-v /mydata/mysql/conf:/etc/mysql:将配置檔案夾挂載到主機

-v /mydata/mysql/log:/var/log/mysql:将日志檔案夾挂載到主機

-v /mydata/mysql/data:/var/lib/mysql/:将配置檔案夾挂載到主機

-e MYSQL_ROOT_PASSWORD=root:初始化 root 使用者的密碼

-d是背景啟動

每個docker都是一個linux系統,是以啟動容器時需要将docker的端口映射到linux主機的端口

-v:将linux本地檔案與docker的指定檔案綁定,修改本地檔案會同步docker檔案,修改配置就友善多了

4.MySQL 配置

由于使用-v /mydata/mysql/conf:/etc/mysql,将本地conf目錄與docker的配置目錄綁定,隻需要修改linux本地配置即可。

vi /mydata/mysql/conf/my.cnf

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve      

docker restart mysql 重新開機mysql

5.提示:解決 MySQL 連接配接慢的問題

在配置檔案中加入如下,并重新開機 mysql

[mysqld]
skip-name-resolve      

解釋: skip-name-resolve:跳過域名解析

6.通過容器的 mysql 指令行工具連接配接

docker exec -it mysql mysql -uroot -proot