进入Docker容器中修改mysql密码

众所周知,docker内的容器对外界来说是封闭的,有时候需要修改一些配置或者进行一些命令交互时,就需要进入到docker容器内部进行交互

进入mysql容器内部

使用命令

docker exec -ti  percona mysql -u root -p
    
           
    
    
           
    1

命令及参数解释:

docker exec :在运行的容器中执行命令

OPTIONS说明:

-d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端

进入之后输入密码:

然后就登录到Mysql终端了,此时修改密码就很简单了

修改mysql root用户密码

方法1: 用SET PASSWORD命令

首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:mysql> set password for root@localhost = password(‘123’);

方法2:用mysqladmin

格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123

方法3:用UPDATE直接编辑user表

首先登录MySQL。 mysql> use mysql; mysql> update user set password=password(‘123’) where user=‘root’ and host=‘localhost’; mysql> flush privileges;

修改完成后,重启容器即可

众所周知,docker内的容器对外界来说是封闭的,有时候需要修改一些配置或者进行一些命令交互时,就需要进入到docker容器内部进行交互 进入mysql容器内部 使用命令 docker exec -ti percona mysql -u root -p 1 命令及参数解释: docker exec :在运行的容器中执行命令 OPTIONS说明: -d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端 进入之后输入密码: 然后就登录到Mysql终端了,此时修改密码就很简单了 修改mysql root用户密码 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:mysql> set password for root@localhost = password(‘123’); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123 方法3:用UPDATE直接编辑user表 首先登录MySQL。 mysql> use mysql; mysql> update user set password=password(‘123’) where user=‘root’ and host=‘localhost’; mysql> flush privileges; 修改完成后,重启容器即可
众所周知,docker内的容器对外界来说是封闭的,有时候需要修改一些配置或者进行一些命令交互时,就需要进入到docker容器内部进行交互 进入mysql容器内部 使用命令 docker exec -ti percona mysql -u root -p 1 命令及参数解释: docker exec :在运行的容器中执行命令 OPTIONS说明: -d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端 进入之后输入密码: 然后就登录到Mysql终端了,此时修改密码就很简单了 修改mysql root用户密码 方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:mysql> set password for root@localhost = password(‘123’); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 123 方法3:用UPDATE直接编辑user表 首先登录MySQL。 mysql> use mysql; mysql> update user set password=password(‘123’) where user=‘root’ and host=‘localhost’; mysql> flush privileges; 修改完成后,重启容器即可
docker stop containerid 
docker start contatinerid

重点**

如果用Navicat等工具远程连接过数据库,那么只修改本地连接密码不够,还需要修改远程连接权限,不然原远程连接密码还是可以连接上,所以要修改远程连接权限

1.GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY 123456 WITH  GRANT OPTION ;
2.FLUSH PRIVILEGES;
经验分享 程序员 微信小程序 职场和发展