美文网首页
mysql权限管理。

mysql权限管理。

作者: 像敏锐的狗 | 来源:发表于2018-01-05 17:27 被阅读52次

    1、你有没有链接权限

    2、你有没有执行操作的权限(select/update等)

    对于1:服务器如何判断用户有没有权限链接上来?

    依据三个参数:

    你从哪来? host

    你是谁? user

    你的密码是多少? password

    用户的这3个信息,存储在mysql.user表中

    use mysql

    desc user;

    select host,user,password from user; //可以看到root只能通过localhost来链接

    cmd:

    ipconfig

    mysql -h192.168.2.101 -uroot -p //链接报错

    mysql -h127.0.0.1 -uroot -p

    mysql -hlocalhost -uroot -p //可以链接

    修改host域,使Ip可以链接

    update user set host = '192.168.2.101' where user = 'root';

    删除无关用户

    delete from user where user='';

    flush privileges; //一定要冲刷权限

    mysql -h192.168.2.101 -uroot -p //可以链接

    mysql -hlocahost -uroot -p //不能链接

    局域网访问使用%通配符 192.168.1.%

    如何修改用户的密码

    update user set password=password('111111') where user='root';

    flush privileges;

    user表判断你能不能进来

    db表判断用户有没有某个库的操作权

    tables_priv判断用户有没有某张表的操作权

    新增一个用户 在user表中全局授权

    grant [权限1,权限2,权限3,...] on *.* to user@'host' identified by '密码'  //*.*代表所有库所有表

    常用权限有:all,create,drop,insert,delete,update,select

    grant all on *.* to lisi@'192.168.2.%' identified by '';

    收回权限

    revoke all on *.* from list@'192.168.1.%';

    flush privileges;

    赋权管理某一个库 //此时user表中权限全是N 但mysql.db表中lisi 对于ecshop表有操作权限

    grant all on ecshop.* to lisi@'192.168.1.%';

    收回权限 //db表中无权限数据

    revoke all on ecshop.* from list@'192.168.1.%';

    赋与表级别权限 //此时user表中lisi无权限 db表中无lisi数据 tables_priv中有lisi针对表的权限

    grant insert,update,select on test_database.test_table to lisi@'192.168.1.%'; //用户可以增改查,但不能删数据

    提示:如果在开发中,某张表的数据,是原始数据,不能被删除,除了在php的业务逻辑上来控制,还可以从mysql用户权限管理来控制

    mysql的权限控制,甚至可以精确到列

    常用的授权权限在手册中 grant部分

    相关文章

      网友评论

          本文标题:mysql权限管理。

          本文链接:https://www.haomeiwen.com/subject/orpsnxtx.html