docker exec -it mysql_test /bin/bash
注意:由于我是通过docker安装的数据库,所以在操作之前需要进入容器,直接安装在本机的用户可以跳过这步
Mysql -u root -p
use mysql
SELECT User,Host FROM user;
update user set host=’%’ where user=’root’;
flush privileges;
exit
CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
host:主机ip,%【任意ip】 localhost【本机】 192.168.31.22【指定ip】
drop user 'XXX'@'localhost'; delete from user where user='XXX' and host='localhost';
注意:delete from user where user='XXX' and host='localhost',用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错。
OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash"
解决办法:
因为运行脚本的类型有多种,如下图所示:
所以只需要找到不同容器安装的运行脚本模式就好,不过sh类型的shell是最基础的,所以大部分镜像都支持,如果出现bash 不能进入的时候,尝试一下sh便可以进入、
docker exec -it mysql_test /bin/sh
docker exec使用小技巧:后面的/bin/或者/usr/bin/可以省略掉,直接写sh 或者 bash。
详细操作见这位大佬的博客
2.OCI runtime exec failed: exec failed: unable to start container process: open /dev/pts/0: operation not permitted: unknown
解决办法:出现这样的原因我也没弄明白,有可能是因为我更新了容器的开启启动设置没有重新启动容器导致的,所以值需要将容器重启即可。