docker安装mysql5.7

系统环境

Ubuntu 16.04

拉取mysql5.7镜像

根据官网拉取:
https://hub.docker.com/_/mysql?tab=tags

docker pull mysql:5.7

创建容器并运行

docker mysql启动参数说明:
https://hub.docker.com/_/mysql

sudo docker run -p 3306:3306 --name mysql5.7 \
-v /root/docker_mysql5.7/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

执行下面命令,需要实现准备好配置文件,否则没有配置文件,有些配置不方便修改

sudo docker run -p 3306:3306 --name mysql5.7 \
-v /root/docker_mysql5.7/conf:/etc/mysql \
-v /root/docker_mysql5.7/logs:/var/log/mysql \
-v /root/docker_mysql5.7/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

启动mysql秒退

https://www.malaoshi.top/show_1EF5me4ITChi.html

进入mysql容器执行命令

docker exec -it 容器名 或 容器ID /bin/bash

使用utf8mb4字符集

docker exec -it 容器名 或 容器ID /bin/bash

登录mysql

mysql -uroot -p123456

查询字符集

show variables like '%char%';

结果如下:

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

默认使用的是latin1

安装vim,参见:
https://www.malaoshi.top/show_1EF5mknzR0Pb.html

编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

增加下面内容:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

[mysql]
default-character-set=utf8mb4

[client]
default-character-set=utf8mb4

保存后,重启mysql容器

docker restart 容器名 或 容器ID

mysql操作

更多数据库操作参见:
https://www.malaoshi.top/show_1EF4uz6PpuR7.html

登录mysql

mysql -uroot -p123456

创建数据库

CREATE DATABASE nacos DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

创建用户并授权

GRANT CREATE,DROP,ALTER ON nacos.* TO 'nacos'@'%' IDENTIFIED BY "123456";

创建用户(可略)

CREATE USER 'nacos'@'%' IDENTIFIED BY '123456';

给用户授权(可略)

GRANT CREATE,DROP,ALTER ON nacos.* TO 'nacos'@'%' ;

原文出处:/show_1EF5md0oFytb.html