Linux学习笔记:MySQL的授权
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux学习笔记:MySQL的授权,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5052字,纯文字阅读大概需要8分钟。
内容图文
![Linux学习笔记:MySQL的授权](/upload/InfoBanner/zyjiaocheng/460/ffc5ba39c95f4d7a818b469ee24c6abe.jpg)
授权,当创建用户后,则需要对用户进行授权,MySQL有意思的地方在于,它是针对用户与主机成对进行授权。也就是说,同一个用户来自不同主机,权限也可能不同。
GRANT SELECT, INSERT ON `mydb`.`student` TO ‘coosh‘@‘192.168.5.0/255.255.255.0‘ identified by ‘coosh‘;
注意,SELECT,与INSERT之间有空格,另外IP网段的写法也要注意,不能使用/24这种写法。这种写法与192.168.5.%的区别在于,%匹配任意,也就是说192.168.5.%等同于192.168.5.0/255.255.255.0,不过如果子网掩码不是标准的,例如255.255.255.128,那么整个192.168.5.0就会被分割成两个网段,这时就要使用192.168.5.0/255.255.255.128这种写法,可以匹配到192.168.5.1-192.168.5.126
经过上面的授权命令后,查看一下mysql表
mysql> select user,host,password from mysql.user where user=‘coosh‘; +-------+---------------------------+-------------------------------------------+ | user | host | password | +-------+---------------------------+-------------------------------------------+ | coosh | 127.0.0.1 | *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 | | coosh | 192.168.5.% | *91A66B6C7D4FABDB9225374DC006BB98E6C6F0CB | | coosh | 192.168.5.0/255.255.255.0 | *4747E0BBC01404D0D09BD8A9BA1AE4F5FC5FDC94 | +-------+---------------------------+-------------------------------------------+
3 rows in set (0.00 sec)
可以看出coosh这个用户有多个不同的密码;而且经过测试,MySQL会优先使用指定了子网掩码的行。
透过LAN内另外一台机器用coosh这个用户去连接MySQL
mysql> insert into student -> values(1,‘Mr Coosh‘,100); Query OK, 1 row affected (0.02 sec) mysql> select * from student; +----+----------+-------+ | id | name | score | +----+----------+-------+ | 1 | Mr Coosh | 100 | +----+----------+-------+ 1 row in set (0.00 sec) mysql> delete from student where id=1; ERROR 1142 (42000): DELETE command denied to user ‘coosh‘@‘192.168.5.141‘ for table ‘student‘
可以看到coosh可以插入一条新记录,也可以查询,却不能删除(提示命令被拒绝)
回到服务器上
[root@vmtest ~]# mysql -u root -p -h 127.0.0.1 -P 3308 Enter password: Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. mysql> show grants for coosh@127.0.0.1; +--------------------------------------------------------------------------------------------------------------+ | Grants for coosh@127.0.0.1 | +--------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO ‘coosh‘@‘127.0.0.1‘ IDENTIFIED BY PASSWORD ‘*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29‘ | | GRANT ALL PRIVILEGES ON `mydb`.* TO ‘coosh‘@‘127.0.0.1‘ | | GRANT ALL PRIVILEGES ON `test`.* TO ‘coosh‘@‘127.0.0.1‘ | +--------------------------------------------------------------------------------------------------------------+ 3 rows in set (0.00 sec)
可以看到,如果在服务器本机使用coosh来登录,是具有全部的命令权限
测试一下
[root@vmtest ~]# mysql -ucoosh -p -h 127.0.0.1 -P3308 Welcome to the MySQL monitor. Commands end with ; or \g. mysql> delete from mydb.student where id=1; Query OK, 1 row affected (0.00 sec)
在服务器上登录则可以成功删除。
查看授权
mysql> show grants for coosh@127.0.0.1; +--------------------------------------------------------------------------------------------------------------+ | Grants for coosh@127.0.0.1 | +--------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO ‘coosh‘@‘127.0.0.1‘ IDENTIFIED BY PASSWORD ‘*1981B3D87F8E4997E444AC2F469A74D5145EEB75‘ | | GRANT ALL PRIVILEGES ON `mydb`.* TO ‘coosh‘@‘127.0.0.1‘ | +--------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> show grants for coosh@‘192.168.5.0/255.255.255.0‘; +------------------------------------------------------------------------------------------------------------------------------+ | Grants for coosh@192.168.5.0/255.255.255.0 | +------------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO ‘coosh‘@‘192.168.5.0/255.255.255.0‘ IDENTIFIED BY PASSWORD ‘*1981B3D87F8E4997E444AC2F469A74D5145EEB75‘ | | GRANT SELECT, INSERT ON `mydb`.* TO ‘coosh‘@‘192.168.5.0/255.255.255.0‘ | +------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
Linux学习笔记:MySQL的授权
标签:mysql
本文系统来源:http://coosh.blog.51cto.com/6334375/1735973
内容总结
以上是互联网集市为您收集整理的Linux学习笔记:MySQL的授权全部内容,希望文章能够帮你解决Linux学习笔记:MySQL的授权所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。