windows,mac修改字符编码格式以及docker中导入sql数据

windows系统由于本人下载了一个安装完全绿色版本的MySQL,在MySQL目录下并没有my.ini或default.int,每次启动MySQL服务的时候一直返回默认初始值。

接下来就是解决办法

1、首先查看数据库的默认编码show variables like 'char%';

mysql编码.png

这是我修改好的编码,一般默认的是拉丁文

2、在自己的目录下新建一个my.ini的文件,我的目录是D:\MySQL\mysql-5.7.20-winx64。

3、在ini文件中复制以下内容(路径根据自己电脑安装位置修改)。

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=D:\MySQL\mysql-5.7.20-winx64

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

4、修改完成以后重启MySQL,然后查询show variables like 'char%';就如上图显示的一样了,这样就不要每次开启MySQL服务设置编码格式了。

5、我在修改过程中发现使用视图工具MySQL的时候修改完中文还是显示?号,我碰到的解决方法就是断开连接,重新连接数据库,?号就显示成中文了。

###mac上修改

因为使用docker的时候我没有安装vim,所以在进入容器的时候无法修改配置。

血的教训…
执行命令

apt-get update

同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引。但是下载很慢,真的很慢… sources中的地址可以改成阿里云的。

等更新完成以后再执行:

apt-get install vim

安装完成后进入容器,然后进入mysql执行查看编码格式

show variables like'character%';

执行exit退出数据库到容器中,执行

vim /etc/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

保存退出后重启容器。

然后在docker中导入sql数据

docker exec -i xxx mysql -uroot -p密码 projectName< /*(*代表你的路径)/mysql.sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脚一晃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值