docker 阅读 2435
docker 第7.2章 常规安装-安装mysql

docker 第7.2章 常规安装-安装mysql

2023-05-04 • lulubin

一、搜索镜像

docker hub 上面查找 mysql 镜像

docker search mysql

https://file.lulublog.cn/images/3/2023/05/ixTJdzECS3D0euJ30DtTMBBS3sbcD4.jpg?sign=1012d94f363c07392767f85afad6f011&t=6acd0400

二、拉取镜像

从 docker hub上(阿里云加速器)拉取 mysql 镜像到本地标签为 5.7

docker pull mysql:5.7

https://file.lulublog.cn/images/3/2023/05/yOvRZjvvujv0BVV1KyYoVIyvTS3YK1.jpg?sign=e9998157f61732717c8f3fd2ee7e6346&t=6acd0400

三、查看镜像

docker images 查看是否有拉取到的 mysql

docker images mysql

https://file.lulublog.cn/images/3/2023/05/tu4OGHLskgcHni1GIIIihQi6liiGgI.jpg?sign=5ded4d20338199b26712047c0f97dcb0&t=6acd0400

四、启动镜像

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

https://file.lulublog.cn/images/3/2023/05/TZdgM2xBb6Rl6mfDJMGJM9Bg5XgxPM.jpg?sign=54e74a2d1c56e6aea9a9c0af893871eb&t=6acd0400

docker ps

https://file.lulublog.cn/images/3/2023/05/wcQasUUnhiSacc34UbBuSn24y6wWCW.jpg?sign=0bd0bfd3ec08a9633ce52e3c5407794b&t=6acd0400

docker exec -it 容器ID /bin/bash
mysql -uroot -p

https://file.lulublog.cn/images/3/2023/05/ENFnLnUJyrFRC4C145ScJAco15R5NO.jpg?sign=20232d3b6b6754be78af381b45af069e&t=6acd0400

五、创建数据

建库建表插入数据

create database db01;

切换数据库

use db01;

创建数据库表

create table test(id int,name varchar(20));

插入数据

insert into test values(1,'lulubin');

查询数据

select * from test;

https://file.lulublog.cn/images/3/2023/05/QK0glG08KGEYJ0gLuwY8u47qAzvevC.jpg?sign=25472af3199443d2fe655c464fc606aa&t=6acd0400

外部工具连接运行在 dokcer 上的 mysql 容器实例服务

演示使用的外部工具是:https://lulublog.cn/p/shv0O2

插入中文数据

insert into test values(2,'鲁鲁槟');

https://file.lulublog.cn/images/3/2023/05/LHX33ibIb6VVJoiTvVBxIIi6i7XIT3.jpg?sign=0dea402b8ac6c0661d05c940e0e2be24&t=6acd0400

为什么报错?docker 上默认字符集编码隐患

docker里面的mysql容器实例查看,内容如下:

SHOW VARIABLES LIKE 'character%';

https://file.lulublog.cn/images/3/2023/05/Xj6h8F8nR4K4H4p8Rj6uMPRks8RnsL.jpg?sign=c790fcebd08b51bd3421c60ed1f8270f&t=6acd0400

六、实战版

先把之前的 mysql 容器删除

docker run -d -p 3306:3306 --privileged=true -v /lulubin/mysql/log:/var/log/mysql -v /lulubin/mysql/data:/var/lib/mysql -v /lulubin/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456  --name mysql mysql:5.7

新建 my.cnf

cd /lulubin/mysql/conf
vim my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
cat my.cnf

https://file.lulublog.cn/images/3/2023/05/qhs1F8sh8485YrZpQyxJhSR4fps1hJ.jpg?sign=b36ed58cbae669710aa963acccdb137f&t=6acd0400

重启 mysql

docker restart mysql
docker exec -it mysql bash
mysql -uroot -p

https://file.lulublog.cn/images/3/2023/05/B66wbs3e9wBQ6J6JoE9oCabcSrjqZg.jpg?sign=8dd0cf30f2c549e32ac30e9954d43b33&t=6acd0400

查看字符集

SHOW VARIABLES LIKE 'character%';

https://file.lulublog.cn/images/3/2023/05/P63kk44F769v847FazwAZllrll9fff.jpg?sign=174b12954154cf053a9154dc54f1b1e4&t=6acd0400

创建数据

create database db01;
use db01;
create table test(id int,name varchar(20));

https://file.lulublog.cn/images/3/2023/05/Fs1fjj12JmTZJk8vs8yB8iL8pap188.jpg?sign=27b80e04a01cbce5fecdf9d7a2480ed1&t=6acd0400

外部工具连接运行在 dokcer 上的 mysql 容器实例服务

插入中文数据

insert into test values(2,'鲁鲁槟');

https://file.lulublog.cn/images/3/2023/05/p4BEwRFX17w1yz22c7T37tfx1yrRtS.jpg?sign=888d4ef777ac704d70c7f7614508365d&t=6acd0400

结论:docker 安装完 MySQL 并 run 出容器后,建议请先修改完字符集编码后再新建 mysql 库-表-插数据。

打赏

×

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

docker文章
带到手机上看