Docker 修改Mysql8.0 密码

一、docker中修改MySQL8.0密码

首先,进入MySQL容器:

$ docker exec -it mysql8.0 /bin/bash

    
    
  • 1

在这里插入图片描述
然后进入MySQL:

mysql -uroot -p

    
    
  • 1

在这里插入图片描述
网上查了好久才找到,修改命令也是五花八门:

1.  (试了没用,xshell 能登陆,但远程访问不了,还有些说在配置文件 my.cnf 中加 skip-grant-tables,也没什么用处 ) 
	flush privileges;
	ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
	flush privileges;
  1. (这种改了连数据库都进不去,改的根本就不是root密码,进入数据库还是之前的密码)
    ALTER USER ‘root’@’%’ IDENTIFIED BY ‘new密码’ PASSWORD EXPIRE NEVER;

  2. (这种改了和第一种一样)
    ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new密码’;
    还有很多,就不一一列举了。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

经过自己的不断测试,终于改成功了。
先进入 mysql 数据库:
在这里插入图片描述
要借助上面列举中的两条命令来修改密码:

1.   ALTER USER 'root'@'%' IDENTIFIED BY 'mysql1024.' PASSWORD EXPIRE NEVER;
2.   ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql1024.';

 
 
  • 1
  • 2

在这里插入图片描述
退出重启一下:
在这里插入图片描述
试一下:
在这里插入图片描述
远程连接试一下:
在这里插入图片描述
成功!

二、docker中主机与容器之间复制文件

# 首先获取容器的长ID
docker inspect -f '{{.ID}}' container_name
# 从主机向容器中复制文件
sudo docker cp host_path containerID:container_path
# 从容器向主机中复制文件
sudo docker cp containerID:container_path host_path

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、docker 中MySQL8.0 导出导入sql脚本

导出:
首先进入MySQL8.0容器,找到安装mysql-8.0的目录,不是进入mysql中
在这里插入图片描述

1.导出数据和结构:
mysqldump -u用户名 -p 数据库名 > 数据库名.sql
2.只导出结构:
mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql

 
 
  • 1
  • 2
  • 3
  • 4

导入:
先根据上面二中的命令将 sql 脚本复制到容器中,然后进入数据库,先创建数据库:
然后再导入:

# 1.获取容器长 ID
docker inspect -f '{{.ID}}' mysql8.0
# 2.将sql脚本复制到容器中
sudo docker cp host_path containerID:container_path
# 3.进入容器,进入mysql,创建数据库,并 use 选中,再导入
source /tmp/abc.sql

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值