MySQL数据库远程访问权限设置方式

吾爱主题 阅读:153 2023-04-28 17:42:00 评论:0

MySQL数据库远程访问权限设置

对于初学者小伙伴来说,我们安装mysql到本地服务,再用一些图形化工具链接。

一般情况下我们都能链接成功;但是、在模拟真实的环境中我们的数据库不可能直接安装在本地机器上,大多数是在云服务器上,这种情况我们的mysql也不是路边大巴招手即停的,你还是要约的(先买票!);也就是你的帐号不允许从远程登陆,只能在localhost登录,怎么办?

接下来给大家讲解两种简单的方法、方法再简单要先用管理员账户登录进去,这样才可以修改

让我们先登录上mysql

改表(当然我们要先知道表在哪,适用于整个数据库)

  • show databases;#显示所有数据库
  • use mysql;#使用mysql数据库
  • show tables;#找到这个user表

  • select * from user;#查看该表所有信息

我们能清楚的对应的主机;用户以及用户权限

1、直接修改

?
1 update user set host = '%' where user = 'root' ;#更新root用户的主机访问为任何值

2、加指定用户以及指定权限

?
1 insert into user (host, user ) values ( 'ip' , 'user' );#添加一个用户 user 地址ip的无权限用户(可以插入新增用户信息时,附带把权限也查进去,执行时会有告警,因为表中有约束,不用深究)

新增成功,但是没有权限。

授权

  • 直接授权(mysql8.0版本会报错,语法分割)
?
1 grant all privileges on  *.*  to 'user' @ 'ip' identified by '123456' ;#授权给主机为ip的 user 用户开放,所有数据库及对应表的所有权限,并且密码设置为123456(快速简洁)
  • 直接授权(改-针对新版本)
?
1 2 create user user '@‘ip' identified by ‘123456 ';#创建一个主机地址是ip登录密码是123456的user用户 grant all privileges on *.* to ' user '@' ip';#链接上一步,给他所有权限

  • 指定授权
?
1 2 create user ‘mysql '@‘%' identified by ‘123456 ';#创建一个主机地址可以时任何地址的登录密码是123456的mysql用户(随时随地,在任何地方的进行登录操作) grant select,create on myemployees.* to ' mysql '@' %';#设置mysql用户只用myemployees库的查,创建权限

?
1 flush privilege;#刷新下数据权限

针对mysql8.0版本以上操作时会报错无法链接;

8.0版本因为密码规则和语法规则的改变,所以要再次设置

在相同情况下依次执行以下语句

?
1 2 3 alter user ‘mysql '@‘%' identified by ‘123456 ' passwore expire never;#修改加密规则 alter user ‘mysql' @‘% ' identified by ‘123456' mysql_native_password by '123456' ;#再次重置密码 flush privilege;#刷新下数据权限

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/fx20211108/article/details/125565977

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容