docker安裝mysql5.7


本文簡單演示下docker方式安裝mysql。 

拉取鏡像

https://hub.docker.com/_/mysql

docker pull mysql:5.7.26

或者:docker pull registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26

運行容器

 

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26

-e,Set environment variables,表示指定運行時環境變量,設置密碼為123456

 

查看mysql容器:docker ps |grep mysql

 

進入容器:docker exec -it mysql /bin/bash

 

本地連接數據庫

mysql -u root -p123456

 

查看字符集

show create database mysql;

show variables like '%character%';

 

字符集不是utf8,我們需要做修改。

 

修改配置文件

創建掛載目錄

[root@k8s-master01 ~]# mkdir -p /mysql/conf
[root@k8s-master01 ~]# mkdir -p /mysql/data
[root@k8s-master01 ~]# mkdir -p /mysql/logs

 

 

mysql.cnf引入了另外兩個目錄

 

兩個目錄的內容

第一個目錄中配置文件內容

第二個目錄中配置文件內容

 

上面配置文件中可以看到(也可以搜索:find / -name "*mysql*",有通配符需要加引號)

數據目錄:/var/lib/mysql/

日志目錄:/var/log/mysql/

配置目錄:/etc/mysql/mysql.conf.d/

 

也可以這樣查看數據目錄

自帶的mysql數據庫有user.frm:find / -name "user.frm"

紅框中是數據庫,所以數據目錄是:/var/lib/mysql

 

復制容器中配置文件到本機:docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /mysql/conf/

修改配置文件:vim mysqld.cnf

 

這里只修改編碼

在 [mysqld] 前添加如下配置:

[client]
default-character-set=utf8

  

在 [mysqld] 后添加如下配置:

character-set-server=utf8

 

重新運行容器

刪除之前的容器:docker rm -f mysql

重新運行:

docker run \
--name mysql \
-p 3306:3306 \
-v /mysql/conf:/etc/mysql/mysql.conf.d/ \
-v /mysql/data:/var/lib/mysql/ \
-v /mysql/logs:/var/log/mysql/ \
-e MYSQL_ROOT_PASSWORD=123456 \
-d registry.cn-chengdu.aliyuncs.com/qzcsbj/mysql:v5.7.26
 
 
宿主機可以看到容器的mysql數據目錄

 

進入容器:docker exec -it mysql /bin/bash
cat /etc/mysql/mysql.conf.d/mysqld.cnf,可以看到宿主機的配置文件
 
 

本地連接

mysql -u root -p123456

 

下面可以看到字符集已經改為utf8

show create database mysql;

 

show variables like '%character%';

 

如果只是服務端加了utf8,結果就是下面這樣:

 

遠程連接

cmd中連接

需要本機中安裝了mysql,否則會提示沒有mysql命令

mysql -u root -p -h 192.168.117.171

客戶端工具連接

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM