MySQL数据库学习笔记 ---- 数据库授权
简介:
测试在部署项目到Linux时,如果需要Win7上类似 Navcat for MySQL 这样的工具连接MySQL时;
或者,应用服务器 需要连接数据库服务器时,需要对数据库服务器使用 grant 授权命令,让其访问。
思路:
(1)在数据库服务器上创建数据库的用户,允许应用服务器访问,即授权
(2)直接对 root 管理员授权,但这样不安全
按照思路(1)的方式:
首先,查看下数据库的用户:
1 mysql> select user,host from mysql.user; 2 3 +------+---------------+ 4 | user | host | 5 +------+---------------+ 6 | root | 127.0.0.1 | 7 | root | 192.167.31.% | 8 | root | 192.168.31.99 | 9 | root | ::1 | 10 | | localhost | 11 | root | localhost | 12 | | moban | 13 | root | moban | 14 +------+---------------+ 15 8 rows in set (0.00 sec)
授权:
1 mysql> grant select,insert,update,delete on guest.* to guest@'192.168.31.%' identified by '123456';
grant: 授权命令
select、insert、update、delete: 赋予什么权限 (all 代表所有权限)
on guest.*: 在 guest 库上的所有表
to guest: 给guest用户
@'192.168.31.%': 在192的网段
identified by '123456':
刷新权限
1 mysql> flush privileges;
1 mysql> select user,host from mysql.user; 2 +-------+---------------+ 3 | user | host | 4 +-------+---------------+ 5 | root | 127.0.0.1 | 6 | root | 192.167.31.% | 7 | guest | 192.168.31.% | 8 | root | 192.168.31.99 | 9 | root | ::1 | 10 | | localhost | 11 | root | localhost | 12 | | moban | 13 | root | moban | 14 +-------+---------------+ 15 9 rows in set (0.00 sec)

|guest| 192.168.31.% | ---> 这表示所有从192段过来的都可以连(%表示模糊匹配)
上述操作完成,下面测试下(使用Win7的Navicat工具连接):

总结:
数据库通过 grant 命令创建用户并授权
1、grant 命令语法如下:
grant all privileges on dbname.* to username@localhost identified by 'passwd';
2、列表说明:
| grant | all | on dbname.* | to username@localhost | identified by 'passwd' |
| 授权 | 对应权限 | 目标:库和表 | 用户名 、访问数据库的客户端主机 | 用户密码 |
说明:以上命令是授权localhost主机上,通过username管理dbname数据库的所有权限,密码为passwd。
其中,username,dbname,passwd 可根据业务的情况修改。

浙公网安备 33010602011771号