当前位置:网站首页>docker mysql 容器中执行mysql脚本文件并解决乱码
docker mysql 容器中执行mysql脚本文件并解决乱码
2022-08-03 19:00:00 【兰舟千帆】
docker 容器中执行mysql脚本文件并解决乱码
网上搜索了一大推,在容器mysql中执行一段代码这么难吗?搞得十分复杂。 于是自己记录一下,虽然简单,但是还是怕后面忘记掉,又搜大半天。
现在的需求是将我的sql文件导入进来,然后让docker中的mysql 来执行它。
注意mysql在docker容器中,如果你只导入到宿主机,然后进入容器去执行sql文件的话,一定会告诉你是打不开的,因为宿主机外部和容器内部是相对隔离的,不可能在容器内部去找宿主机的路径。
因此,我们要做的就是将宿主机的sql文件拷贝到容器内部,然后再让它去执行,这样就好了。 我把sql文件放置到了这里,这里是我曾经做的和docker sql文件挂载的普通目录,当然,你现在放在哪里都行。
要拷贝到容器内部的话,就需要先找到容器。 首先列举出来,看看正在运行的容器,对应mysql的id就知道了。
docker ps
然后我们通过id 去指定容器,这个也就是mysql容器的id 我们通过这个命令就可以进去到容器,我们进去到这里呢,句可以在这里去登录mysql,然后执行脚本。
docker exec -it 4f50fbeb15ee /bin/bash
ctrl+d,退出容器 但是在这之前,我们要将sql文件拷贝进来。
docker cp /mysql/mysql/1.sql 4f50fbeb15ee:/home/1.sql
cp后面是你宿主机sql文件所在的路径,容器id后面一个是容器home文件夹,一个是我拷贝后命名的sql文件。这里就拷贝了。
拷贝后呢,我们再次进去容器。
docker exec -it 4f50fbeb15ee /bin/bash
然后我们进去到容器的home
cd home
查看目录下是否有一个1.sql,容器内部查看不能用ll,所以用ls
ls
有的 在容器中执行,就用容器中的路径,和宿主机路径无关。 然后我们就执行
source /home/1.sql
但是有的时候啊,执行完毕后,他会存在一些乱码。
于是我们可以去尝试查看一些编码
show variables like '%char%';
我将这些编码全部改为utf-8
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
这样做是有效的,后来我数据库中存在乱码的字段就全部正常了。
边栏推荐
猜你喜欢
How does MySQL permanently support Chinese input once and for all?
vulnhub pyexp: 1
87. (Home of cesium) cesium heat map (topography)
Online monitoring of UPS power supply and operating environment in the computer room, the solution is here
Arduino实验三:继电器实验
APT级全面免杀与企业纵深防御体系的红蓝对抗
87.(cesium之家)cesium热力图(贴地形)
字节跳动三面拿offer:网络+IO+redis+JVM+GC+红黑树+数据结构,助你快速进大厂!!
MySQL超详细安装教程 手把手教你安装MySQL到使用MySQL 最简单的MySQL安装方式,这种方式装,卸载也简单
Cobalt Strike (CS) 逆向初探
随机推荐
87. (Home of cesium) cesium heat map (topography)
With the help of Kubernetes kubekey speed installation
大佬,谁有空帮忙看下这个什么问题呢,我就读取MySQLsource print下,刚接触flink,
Don't look down upon the WebSocket!Long connection, stateful, two-way, full-duplex king is Fried
Arduino实验三:继电器实验
openresty 高可用部署
基于ck+redash构建MySQL慢日志+审计日志展示平台
2022年最新的Android面试大厂必考174题(附带详细答案)
云图说丨初识华为云微服务引擎CSE
如何理解即时通讯开发移动网络的“弱”和“慢”
基于DMS的数仓智能运维服务,知多少?
在线监控机房内的UPS电源及运行环境,解决方案来了
Bytes to beat three sides take offer: network + GC + + IO + redis + JVM red-black tree + data structure, to help you quickly into the giant!!!!!
Oracle 脚本实现简单的审计功能
【ORACLE】什么时候ROWNUM等于0和ROWNUM小于0,两个条件不等价?
MySQL——增删改查进阶
Zhong Hua, senior architect of Ali: China-Taiwan strategic thinking and architecture practice; including internal implementation manual
6000 字+,帮你搞懂互联网架构演变历程!
懵逼!阿里一面被虐了,幸获内推华为技术四面,成功拿到offer,年薪40w
MySQL如何一劳永逸的永久支持输入中文