前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >docker-compose部署mysql8

docker-compose部署mysql8

原创
作者头像
阿彬学java
发布2025-01-09 16:37:09
发布2025-01-09 16:37:09
1700
举报
文章被收录于专栏:dockerdocker

切换到mysql目录

代码语言:sh
复制
cd /mnt/mysql

创建MySQL数据挂载目录

代码语言:sh
复制
mkdir data
  • 创建mysql配置挂在目录
代码语言:sh
复制
mkdir config

创建mysql yaml文件

代码语言:sh
复制
touch mysql.yml

编辑yaml文件

代码语言:sh
复制
vi mysql.yml

添加如下内容

代码语言: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创建并运行mysql容器

代码语言:sh
复制
docker-compose -f mysql.yml up -d

查看容器id

代码语言:sh
复制
docker ps

进入容器内部

代码语言:sh
复制
docker exec -it 容器id sh

连接到MySQL

代码语言:sh
复制
mysql -uroot -p123456

修改root账号的密码

代码语言:sql
复制
alter user 'root'@'%' identified with mysql_native_password by '123456';
alter user 'localhost'@'%' identified with mysql_native_password by '123456';
flush privileges;

使用source执行sql文件乱码问题解决方案1

查看数据库编码

代码语言:sql
复制
show variables like '%char%';

如以下配置不是utf-8,则都设置为utf-8

代码语言:sql
复制
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;

使用source执行sql文件乱码问题解决方案2

代码语言:sh
复制
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

数据库连接工具无法连接问题

代码语言:sql
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 切换到mysql目录
  • 创建MySQL数据挂载目录
  • 创建mysql yaml文件
  • 编辑yaml文件
  • 添加如下内容
  • 使用docker compose创建并运行mysql容器
  • 查看容器id
  • 进入容器内部
  • 连接到MySQL
  • 修改root账号的密码
  • 使用source执行sql文件乱码问题解决方案1
    • 查看数据库编码
    • 如以下配置不是utf-8,则都设置为utf-8
    • 使用source执行sql文件乱码问题解决方案2
  • 数据库连接工具无法连接问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档