MySQL数据库远程访问权限设置方式
MySQL数据库远程访问权限设置
对于初学者小伙伴来说,我们安装mysql到本地服务,再用一些图形化工具链接。
一般情况下我们都能链接成功;但是、在模拟真实的环境中我们的数据库不可能直接安装在本地机器上,大多数是在云服务器上,这种情况我们的mysql也不是路边大巴招手即停的,你还是要约的(先买票!);也就是你的帐号不允许从远程登陆,只能在localhost登录,怎么办?
接下来给大家讲解两种简单的方法、方法再简单要先用管理员账户登录进去,这样才可以修改
让我们先登录上mysql
改表(当然我们要先知道表在哪,适用于整个数据库)
show databases;
#显示所有数据库use mysql;
#使用mysql数据库show tables;
#找到这个user表
select * from user;
#查看该表所有信息
我们能清楚的对应的主机;用户以及用户权限
1、直接修改
update user set host = '%' where user = 'root';#更新root用户的主机访问为任何值
2、加指定用户以及指定权限
insert into user(host,user) values('ip','user');#添加一个用户user地址ip的无权限用户(可以插入新增用户信息时,附带把权限也查进去,执行时会有告警,因为表中有约束,不用深究)
新增成功,但是没有权限。
授权
- 直接授权(mysql8.0版本会报错,语法分割)
grant all privileges on *.* to 'user'@'ip' identified by '123456';#授权给主机为ip的user用户开放,所有数据库及对应表的所有权限,并且密码设置为123456(快速简洁)
- 直接授权(改-针对新版本)
create user ‘user'@‘ip' identified by ‘123456';#创建一个主机地址是ip登录密码是123456的user用户 grant all privileges on *.* to 'user'@'ip';#链接上一步,给他所有权限
- 指定授权
create user ‘mysql'@‘%' identified by ‘123456';#创建一个主机地址可以时任何地址的登录密码是123456的mysql用户(随时随地,在任何地方的进行登录操作) grant select,create on myemployees.* to 'mysql'@'%';#设置mysql用户只用myemployees库的查,创建权限
flush privilege;#刷新下数据权限
针对mysql8.0版本以上操作时会报错无法链接;
8.0版本因为密码规则和语法规则的改变,所以要再次设置
在相同情况下依次执行以下语句
alter user ‘mysql'@‘%' identified by ‘123456' passwore expire never;#修改加密规则 alter user ‘mysql'@‘%' identified by ‘123456' mysql_native_password by '123456';#再次重置密码 flush privilege;#刷新下数据权限
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Table ‘xxx’ is marked as crashed and should be repaired 错误解决
这些东西都是从其他地方找来的一些解决MYSQL数据库这个错误的方法,并不一定适用于神迹数据库,仅仅供参考一下,具体的解决方法还是需要摸索。2009-04-04MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)
查重是我们在工作中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-03-03MySQL安装过程报starting the server报错详细解决方案(附MySQL安装程序)
如果电脑是第一次安装MySQL,一般不会出现这样的报错,starting the server失败通常是因为上次安装的该软件未清除干净,这篇文章主要给大家介绍了关于MySQL安装过程报starting the server报错的详细解决方案,文中还附MySQL安装程序,需要的朋友可以参考下2024-03-03
最新评论