mysql修改用户并设置ip权限

一、添加用户
新增用户会有两种方式的,一种是使用create命令,另一种是直接回使用grant 命令

1、create user 名字@登陆地址 identified by "密码";
 
2、grant select,update(权限) on 数据库名.表名 to 用户@登录地址 identified by '密码';
 
3、insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
登陆地址host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
在grant 中 privileges表示用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*。
二、授权和取消授权
原本grant就是用来授权的,只是当找不到授权用户的时候会重新创建一个用户,这个时候就需要注意将密码 加上。

使用grant授权实质是在mysql数据库的user表中增加一列,收回权限实质是从表中删除一列。所以授权也可以替换为删除表数据来代替,授权收权实质是操作mysql的user表。查看mysql.user表的结构:(windows与linux不同的是password列名改为authentication_string)

1、grant privileges on 数据库名.表名 to '用户名'@'登录地址' identified by '密码';
 
2、grant select,insert on 数据库名.表名 to '用户名'@'登录地址' identified by '密码';
 
3、grant all on *.* to '用户名'@'登录地址' identified by '密码';
 
4、grant all on 数据库名.* to '用户名'@'登录地址' identified by '密码';
 
--让用户 拥有授权 权限
5、grant privileges on  数据库名.* to '用户名'@'登录地址' with grant option;
 
--取消授权
6、revoke all on *.* from '用户名'@'登录地址';
三、查看用户信息
当然有查看全部的用户信息和单个的用户信息

1、select distinct concat('User: ''',user,'''@''',host,''';') as query from mysql.user;
 
2、select * from mysql.user where user='用户名';
 
3、show grants for '用户名'@'登录地址(%表示远程登录)';
--查看当前用户的权限
4、show grants; 
 
--查看用户表的结构
5、show mysql.user
四、修改用户和删除用户
--修改用户密码
1、set password for 'username'@'host' = password('newpassword');
 
--当前用户修改自己密码
2、set password = passw ("newpassword");
 
--使用update 更新用户
3、update user set password=password('123') where user='root' and host='localhost'; 
   flush privileges; 
 
--删除用户 
4、delete from mysql.user where user='root' and host='%';
   flush privileges;
五、有关远程登录mysql的问题
我们会发现其实数据库是分为本地的和远程的,本地的数据库即为在本地服务器安装的例如安装的mysql,sql Server等,远程的当然是部署在远程服务器上的。

当给创建用户账号的时候,如果create user 用户@登陆地址 identified by "密码"; 登录地址指定是host,或者某个地址就是表示该用户在局域网或互联网中以IP方式访问了。但是这种情况有可能在其他服务器登不上,这时候就需要登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"。

--先选择mysql数据库的user表
1、use mysql;
--再修改登录的ip 
2、update user set host = '%' where user = '用户名';
当然你可以选择用授权的方式来给需要的用户从任何主机连接到mysql服务器:

-- 可以从任何地方登录数据库
1、grant all privileges on *.* to '用户'@'%' identified by '密码' with grant option;
2、flush privileges;
 
--允许用户从ip为192.168.1.1的主机连接到mysql服务器,并使用mypassword作为密码
3、grant all privileges on *.* to '用户'@'192.168.1.1' identified by '密码' with grant option;
4、flush privileges;
 
--用户从ip为192.168.1.1的主机连接到mysql服务器的test数据库,并使用mypassword作为密码
5、grant all privileges on test.* to '用户'@'192.168.1.1' identified by '密码' with grant option;
6、flush privileges;
还有修改mysql配置文件的方法即 bind-address= 127.0.0.1注释掉即可------>在my.ini中找到bind-address=0.0.0.0就是所有IP地址都能访问,也可以不要这个属性,具体情况我也没有尝试。
————————————————
版权声明:本文为CSDN博主「每天加点分」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LCF_lxf_ldy/article/details/87721073

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值