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. 微信轰炸Python脚本

    1 import time 2 3 from pynput.keyboard import Key,Controller 4 5 keyboard = Controller() 6 7 a = inp ...

  2. AttributeError: module 'requests' has no attribute 'get' 报错分析

    这个报错与代码时没有关系 当文件名与调用模块名重合时,系统找不到我们调用的requests模块. 在命名时,我们要注意不要重合.

  3. nginx 安全漏洞(CVE-2021-23017) 版本升级

    查看当前nginx版本信息 # ./sbin/nginx -V nginx version: nginx/1.20.1 built by gcc 4.8.5 20150623 (Red Hat 4.8 ...

  4. Java学习笔记(二)java流程控制

    学习笔记2 Java流程控制 这次也是跟着[狂神说Java]Java零基础学习视频通俗易懂继续学习的,持续学习,你我共勉. 一. 用户交互Scanner 1. Scanner对象 之前学的基本语法没有 ...

  5. Appium的触屏操作&设备交互api

    Appium的触屏操作 TouchAction---Appium 2.0以上不在可以使用 官网地址:https://github.com/appium/appium/blob/master/docs/ ...

  6. 一台服务器部署ShareWAF,后面接多台Web服务器,该如何配置?

    ShareWAF做为WAF,可以不只是WAF,还可以充当负载或路由的角色. 比如可以有这样一种部署架构: 在此结构中,ShareWAF部署于一台服务器,后面接多台独立的WEB服务器. ShareWAF ...

  7. 使用python和adb来学习(学习通)

    在某一天赶课比较着急,奈何找不到人可以帮我,于是自己动手写了一个简单的脚本来学习 准备工作: 1.需要一个你不用的手机,打开手机的adb,因为需要用到adb来操作手机 2.进入百度智能云,申请一个 通 ...

  8. JavaWeb 之 Http

    0x01:为什么会有Http? 在 HTTP 建立之初,主要目的就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 0x02:什么是Http? http是一个简单的,请求-响应 ...

  9. PHP面向对象(二)

    构造函数 PHP 5 允行开发者在一个类中定义一个方法作为构造函数.具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作. 代码如下: <?php//类的 ...

  10. 对APP渗透测试之抓包

    一.APP渗透测试的原理 APP(手机软件),APP测试和web测试基本没有区别,一个网站存在SQL注入,用PC端浏览器去访问存在SQL注入漏洞,用手机浏览器去访问一样也存在SQL注入漏洞. 大部分漏 ...