系统环境
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'@'%' ;