docker-compose mysql 中文乱码导入导出解决方法

参考地址
docker配置参考 https://www.cnblogs.com/sxdcgaq8080/p/10072040.html
数据库导出编码问题参考 https://www.cnblogs.com/zjoch/p/5526624.html

配置文件如下:

version: '3.1'
services:
  mysqldb:
    image: mysql
    command: [
            '--character-set-server=utf8',
            '--collation-server=utf8_general_ci',
            '--default-time-zone=+8:00' # 这句不是重点
            ]
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: test
      # LANG: C.UTF-8
    ports:
      - 3306:3306

数据导入导出

  • 导出latin1编码数据库
mysqldump -uroot -p mydb --defaylt-character-set=latin1 --set-charset=false > db.sql
  • 导入数据
# 创建对应编码的数据库
create database newdb character set utf8 collate utf8_general_ci;
# 导入数据 注意编码
mysql -uroot -ptest -h 192.168.56.220 --default-character-set=utf8 newdb < db.sql

你可能感兴趣的:(docker-compose mysql 中文乱码导入导出解决方法)