docker下安装mysql5.5(字符编码和导入sql文件大小设置)

1、docker下安装mysql

  • 获取mysql镜像:
docker pull mysql:5.5
  • 运行mysql容器
docker run --name mysql5.5 -v /docker/mysql5.5:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.5

解释:–name mysql 指定是容器的名称-v /docker/mysql-data:/var/lib/mysql 将主机目录/docker/mysql5.5挂载到容器的/var/lib/mysql上-p 3306:3306 设置端口映射,主机端口是3306,容器内部端口3306-e MYSQL_ROOT_PASSWORD=123456 设置容器参数,设置root用户的密码为123456mysql:5.5 镜像名:版本

2、mysql5.5中解决中文乱码问题

进入mysql容器:

docker exec -it mysql /bin/bash

打开 my.cnf文件:

vim /etc/mysql/my.cnf

在使用docker容器时键入vim命令时提示: vim: command not found这个时候就需要安装vim ,这时候需要敲:

apt-get update

等更新完毕以后再敲命令:

apt-get update

然后你发现vim 编辑器可以使用以后,在此my.cnf文件中添加如下字段(注意配置的字段细节):

utf8和utf8mb64区别,选用情况自己选择

"utf8"只支持每个字符最多三个字节超出就会报错,三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xFFFF,也就是 Unicode 中的基本多文平面(BMP)。也就是说,任何不在基本多文平面的 Unicode字符,都无法使用MySQL原有的 utf8 字符集存储。这些不在BMP中的字符包括哪些呢?最常见的就是Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和一些不常用的汉字,以及任何新增的 Unicode 字符等等。

1、在[client]字段里加入default-character-set=utf8mb64,如下:

[client]default-character-set=utf8mb64

2、在[mysqld]字段里加入character-set-server=utf8mb64,如下:

[mysqld]character-set-server=utf8mb64

3、在[mysql]字段里加入default-character-set=utf8mb64,如下:

[mysql]default-character-set=utf8mb64

4.设置接受数据包大小

mysql根据配置文件会限制server接受的数据包大小。

有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。

查看目前配置

show VARIABLES like '%max_allowed_packet%';

显示的结果为:

+--------------------+---------+

| Variable_name      | Value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+  

以上说明目前的配置是:1M

【mysqld】添加

max_allowed_packet = 1024m

my.cnf修改结果截图:

退出容器后,并重启Mysql容器:

docker restart mysql

mysql中检查mysql字符集编码:

SHOW VARIABLES LIKE 'character_set_%'; SHOW VARIABLES LIKE 'collation_%';

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值