docker 获取 mysql 5.7 版本的镜像。

将docker 里面的 3306 端口映射出来,否则虚拟机外,可能无法访问,

创建 docker 镜像
docker run -itd -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD=qq123456 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --init-connect='SET NAMES UTF8MB4;' --sql-mode="NO_ENGINE_SUBSTITUTION" --innodb-flush-log-at-trx-commit=0 

查询数据库当前编码
SHOW VARIABLES WHERE Variable_name LIKE  'character_set_%'  OR Variable_name LIKE 'collation%';
SET NAMES utf8mb4; SET character_set_client = utf8mb4;
SET character_set_results = utf8mb4;
SET character_set_connection = utf8mb4; ##
SET character_set_server = utf8mb4;
SET character_set_system = utf8mb4;
SET collation_server = utf8mb4_unicode_ci;
修改数据库配置文件
</details>
在[client]段增加下面代码
default-character-set=utf8mb4
在[mysqld]段增加下面的代码
default-storage-engine=INNODB
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

Create DATABASE IF NOT EXISTS hexo default charset utf8mb4 COLLATE utf8mb4_general_ci;

创建数据库(访问时,使用外部的用户名,密码)

数据库密码,不能数字开头

docker compose 配置文件

# mysql-db:
mysql_db:
image: mysql:5.7
volumes:
- /_share/master_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=dbname
ports:
- "3399:3306"
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --init-connect='SET NAMES UTF8MB4;' --sql-mode="NO_ENGINE_SUBSTITUTION" --innodb-flush-log-at-trx-commit=0
expose:
- "3306"
- "3399" grant all privileges on *.* to root@'%' identified by 'qq123456' with grant option;
flush privileges; grant all privileges on . to ‘danielyu’@’%’
with grant option; create database blog-db;

四、配置docker MySQL 修改编码,支持 utf8mb4的更多相关文章

  1. mysql 安装和修改编码(utf8mb4)

    安装mysql(linux 我的环境centos 7) 安装MySQL官方的Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-com ...

  2. 修改编码为utf8mb4 以支持emoji表情

    环境: 项目db的所有字符集都已经初始化为utf-8,如 status命令显示如下: Server characterset: utf8Db characterset: utf8Client char ...

  3. 阿里云服务器mysql修改编码问题

    最近在学习struts+spring+hibernate,强烈推荐新手一本书:陈天河<轻量级web应用开发>,这本书是我见过的国内最好的书,初学者可以买本读读. 不说这个了,来说说我的问题 ...

  4. MySQL修改编码设置及乱码问题

    源地址:http://blog.csdn.net/millia/article/details/5806774   昨天尝试把自己用php编写的第一个糙站发布到网上..结果出现了因为编码不统一而导致乱 ...

  5. mysql修改编码

    1.查看当前编码 2.设置utf8mb4编码(也可以是其他),修改my.cnf或my.ini

  6. ubuntu中mysql修改编码utf8

    摘要:Ubuntu Server 服务器下使用apt-get 命令安装的mysql,默认不是utf8.在这里记录一下如何将编码修改成utf8. 办法解决: 1.查看mysql编码 show varia ...

  7. MySQL修改编码为UTF-8无效果解决办法

    本来这是一件很简单的事,有很多博客里都有教程,但却足足花了我半天的时间才解决问题. 可能是因为我的MySQL安装时没有选择默认路径的原因,按照网上的教程修改了下图中的my.ini配置文件后编码并没有发 ...

  8. mysql修改编码(数据库,表,字段)

    查看各个编码 //查看字段编码 SHOW FULL COLUMNS from park_car_user; //查看数据库字段SHOW CREATE DATABASE db_name; //查看表的编 ...

  9. mysql 修改字符集为utf8mb4

    一般情况下,我们会设置MySQL默认的字符编码为utf8,但是近些年来,emoji表情的火爆使用,给数据库带来了意外的错误,就是emoji的字符集已经超出了utf8的编码范畴

  10. 微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程

    转:https://segmentfault.com/a/1190000004594385 项目中涉及保存微信的nickname,之前一直正常使用,但是突然遇到一个之前没有遇到的问题.经过调试发现错误 ...

随机推荐

  1. 【PyQt5学习-03-】PyQt5 控件概念

    快速开发:先看控件的功能,再根据需要选学 1.什么是控件 程序界面上的元素 各自独立 一块矩形区域 具有的功能 接收用户输入 用户点击 显示内容 放置其他控件 先学常用控件 基础控件 按钮 输入控件 ...

  2. opc ua与opc da区别

    opc ua与opc da区别_OPC,OPCDA,OPCUA傻傻搞不清楚,走过路过不妨看一看 转自:https://blog.csdn.net/weixin_39624774/article/det ...

  3. seql sever INSERT语句简介

    INSERT语句简介 要向表中添加一行或多行,可以使用INSERT语句.下面说明了INSERT语句的最基本形式:   INSERT INTO table_name (column_list)   VA ...

  4. #Cisco——配置链路聚合

    Cisco--配置链路聚合 一.什么是链路聚合. 链路聚合(英语:Link Aggregation)是一个计算机网络术语,指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端 ...

  5. MavenDependencies 报错缺少jar包

    1.首先看你的工程是否是maven项目,如果不是,则先转换为maven项目. 如果已经是maven项目了,maven的依赖库无法添加,则移步2: 2.项目右键,选择maven,然后子菜单,选择&quo ...

  6. C语言利用union 和 struct 进行位拆分

    #include <stdlib.h> typedef unsigned char uint8_t; union wate_temp{ struct { uint8_t wate_temp ...

  7. requests学习笔记01

    一.发送请示 # 导入 Requests 模块 import requests # 获取某个网页 r = requests.get("http://www.baidu.com") ...

  8. 登录注册的小项目对比.Net Core与 .Net Framework的一些区别

    一.需求: 1.功能只有登录.注册. 二.架构: 1.分别为 UserSys.IServices:主要有实体和对实体的配置,还有对实体的操作接口 UserSys.Services :主要是对自ISer ...

  9. nodejs查询

    const tagModel = require("../mongodb"); 1 const mongoose = require("mongoose"); ...

  10. kafka删除topic清空数据

    一般情况下,是不会删除数据的.到达一定时间后,kafka会自动删除.如果一定要删除可以删除topic在重建topic了 No. 1: 如果需要被删除topic 此时正在被程序 produce和cons ...