docker 安装mysql、修改密码

目录

1.拉取镜像

2.运行镜像

3.复制mysql配置文件到主机的home/database/mysql/conf目录下

4.停止容器、删除容器、重新启动容器

5.查看binlog、开启binlog

 ​编辑

6.删除数据库

7.建立用户

8、修改数据库密码


(建议)mysql版本:5.7.38(注意:不要用5.7版本,会报错)

1.拉取镜像

docker pull mysql:5.7.38

2.运行镜像

docker run -p 3306:3306 --name mysql -v /home/database/mysql/conf:/etc/mysql/conf.d -v  /home/database/mysql/logs:/var/log/mysql -v  /home/database/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.38 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

3.复制mysql配置文件到主机的home/database/mysql/conf目录下

docker cp mysql:/etc/my.cnf /home/database/mysql/conf

4.停止容器、删除容器、重新启动容器

docker stop mysql
docker rm mysql
docker run -p 3306:3306 --name mysql -v /home/database/mysql/conf/my.cnf:/etc/my.cnf -v /home/database/mysql/conf:/etc/mysql/conf.d -v  /home/database/mysql/logs:/var/log/mysql -v  /home/database/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.38 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
命令解释说明:

-p 3306:3306:将主机的3306端口映射到docker容器的3306端口。
--name mysql:运行服务名字
-v /home/database/mysql/conf/my.cnf:/etc/my.cnf 配置文件挂载
-v /home/database/mysql/conf:/etc/mysql/conf.d :文件挂载
-v /home/database/mysql/logs:/var/log/mysql:文件挂载
-v /home/database/mysql/data:/var/lib/mysql :文件挂载
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d mysql:5.7.38 : 后台程序运行mysql5.7.38
–character-set-server=utf8mb4 :设置字符集
–collation-server=utf8mb4_unicode_ci:设置校对集

5.查看binlog、开启binlog

show variables like 'log_bin';

 

 开启binlog

[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

 重启mysql容器

docker restart mysql

6.删除数据库

删除镜像后,重新安装,由于挂载了数据在主机中,重新安装后,原来的账号密码、以及数据还都在。

如果需要安装全新的mysql,则先删除文件夹:/home/database/mysql。在重新按上面的安装一遍即可。

7.建立用户

  root/123456这个默认账户是无法创建数据库的。这里我们新建一个账户

docker exec -it mysql bash
mysql> mysql -u root -p 123456
mysql> CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
mysql> grant all privileges on *.* to root@'%';
mysql> flush privileges;

8、修改数据库密码

0、进入mysql容器内部
docker exec -it mysql bash

1、进入mysql命令行
mysql -uroot -p
输入原密码

2、修改密码
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

3、重启docker
exit
exit
docker restart mysql

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文子阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值