微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

设置Mysql数据库允许远程连接

MysqL数据库用户权限设置

1.进入容器

docker exec -it MysqL_test /bin/bash

注意:由于我是通过docker安装的数据库,所以在操作之前需要进入容器,直接安装在本机的用户可以跳过这步

2.登录数据库

MysqL -u root -p

3.连接MysqL数据库

use MysqL

4. 查看用户权限

SELECT User,Host FROM user;

5.设置账户为任意ip访问

update user set host=’%’ where user=’root’;

6.刷新权限

flush privileges;

7.退出MysqL

exit

常用命令

1.添加用户

CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;

host:主机ip,%【任意ip】 localhost【本机】 192.168.31.22【指定ip】

2.删除用户

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语句创建用户时会报错。

错误

  1. 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

解决办法:出现这样的原因我也没弄明白,有可能是因为我更新了容器的开启启动设置没有重新启动容器导致的,所以值需要将容器重启即可。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐