docker安装mysql,并修改mysql密码

一、docker 安装 mysql

1.1 安装mysql

sudo docker pull mysql:8.0.20
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/conf
touch /mydata/mysql/my.cnf

1.2 修改 mydata/mysql/my.cnf 下的信息

vi /mydata/mysql/my.cnf
在my.cnf中添加如下信息
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
lower_case_table_names = 1
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

二、docker 镜像挂载 mysql

2.1 挂载 mysql,指定容器,挂载目录

  • # name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo docker run --restart=always -p 3307:3307 --name mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-v /mydata/mysql/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=<密码> \
-d mysql:8.0.20

2.2 输入 docker 命令,查看docker 挂载

docker ps -a

image

2.3 mysql目录映射

vi /mydata/mysql/conf/my.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

2.4 重启 mysql,并 设置docker 启动时自动启动mysql

docker restart mysql
docker update mysql --restart=always

三、docker 镜像下修改 mysql 密码

3.1 使用命令,进入 docker 挂载下的 msyql 中

docker ps -a
-- CONTAINER ID
docker exec -it 'CONTAINER ID<msyql的挂载id>' /bin/bash

image

出现这个输入密码正确

3.2 进入 挂载的 mysql中

1. 输入命令,进入msyql 输入密码
mysql -uroot -p
2. 修改密码:
ALTER USER 'root'@'%' IDENTIFIED BY '<new password>' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED BY '<new password>';
# 注:这两个密码需要一样
3.退出,重启 docker挂载的mysql
exit;
docker start 'CONTAINER ID<msyql的挂载id>'

image

posted @   yikes_ygr  阅读(1398)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示