cd /mnt/mysql
mkdir data
mkdir config
touch mysql.yml
vi mysql.yml
version: '2'
services: mysql
container_name: mysql8
image: mysql:8.0.26
ports:
- "3306:3306"
restart: always
environment:
- MYSQL_ROOT_PASSWORD: 123456
volumes:
- "/mnt/mysql/data:/var/lib/mysql"
- "/mnt/mysql/config:/etc/mysql/conf.d"
docker-compose -f mysql.yml up -d
docker ps
docker exec -it 容器id sh
mysql -uroot -p123456
alter user 'root'@'%' identified with mysql_native_password by '123456';
alter user 'localhost'@'%' identified with mysql_native_password by '123456';
flush privileges;
show variables like '%char%';
set character_set_client=utf8mb4;
set character_set_connection=utf8mb4;
set character_set_database=utf8mb4;
set character_set_results=utf8mb4;
set character_set_server=utf8mb4;
docker ps -- 查看容器
docker exec -it 容器id sh -- 进入容器内部
docker cp 容器id:/etc/mysql/my.cnf /mnt/mysql/config -- 复制容器内部的配置文件
vi /mnt/mysql/config/my.cnf
# 添加以下配置
[mysqld]
character_set_server = utf8
init_connect='SET NAMES utf8'
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。