慢慢看吧
创新互联公司专注于宝清企业网站建设,成都响应式网站建设公司,商城网站开发。宝清网站建设公司,为宝清等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@’%’
grant insert on testdb.* to common_user@’%’
grant update on testdb.* to common_user@’%’
grant delete on testdb.* to common_user@’%’
或者,用一条 mysql 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@’%’
二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
grant 创建、修改、删除 mysql 数据表结构权限。
grant create on testdb.* to developer@’192.168.0.%’;
grant alter on testdb.* to developer@’192.168.0.%’;
grant drop on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 外键权限。
grant references on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 临时表权限。
grant create temporary tables on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 索引权限。
grant index on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 视图、查看视图源代码 权限。
grant create view on testdb.* to developer@’192.168.0.%’;
grant show view on testdb.* to developer@’192.168.0.%’;
grant 操作 mysql 存储过程、函数 权限。
grant create routine on testdb.* to developer@’192.168.0.%’; - now, can show procedure status
grant alter routine on testdb.* to developer@’192.168.0.%’; - now, you can drop a procedure
grant execute on testdb.* to developer@’192.168.0.%’;
三、grant 普通 dba 管理某个 mysql 数据库的权限。
grant all privileges on testdb to dba@’localhost’
其中,关键字 “privileges” 可以省略。
四、grant 高级 dba 管理 mysql 中所有数据库的权限。
grant all on *.* to dba@’localhost’
五、mysql grant 权限,分别可以作用在多个层次上。
1. grant 作用在整个 mysql 服务器上:
grant select on *.* to dba@localhost; - dba 可以查询 mysql 中所有数据库中的表。
grant all on *.* to dba@localhost; - dba 可以管理 mysql 中的所有数据库
2. grant 作用在单个数据库上:
grant select on testdb.* to dba@localhost; - dba 可以查询 testdb 中的表。
3. grant 作用在单个数据表上:
grant select, insert, update, delete on testdb.orders to dba@localhost;
4. grant 作用在表中的列上:
grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5. grant 作用在存储过程、函数上:
grant execute on procedure testdb.pr_add to ’dba’@’localhost’
grant execute on function testdb.fn_add to ’dba’@’localhost’
六、查看 mysql 用户权限
查看当前用户(自己)权限:
show grants;
查看其他 mysql 用户权限:
show grants for dba@localhost;
七、撤销已经赋予给 mysql 用户权限的权限。
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
八、mysql grant、revoke 用户权限注意事项
1. grant, revoke 用户权限后,该用户只有重新连接 mysql 数据库,权限才能生效。
2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
grant select on testdb.* to dba@localhost with grant option;
这个特性一般用不到。实际中,数据库权限最好由 dba 来统一管理。
注意:修改完权限以后 一定要刷新服务,或者重启服务
mysql 查看用户权限 show grants for bacchus;
MySQL命令行创建用户与授权
MySQL中所有使用者的权限是记录在mysql这个数据库的users资料表中
所以你只要先use mysql
再SELECT * FROM users 你可以看到所有的使用者权限
有关db的数据是记录在Db(大小写要注意)这个数据表中
所以只要呼叫出Db的资料 SELECT * FROM Db 就可以看到你要的答案
或者你可以用 SELECT * FROM Db WHERE Db='phplampDB'找出你要的答案
方法如下:
、进入mysql,创建一个新用户kay:
2、 格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to kay@192.168.1.8 identified by "kaypass";
3、 查看结果,执行:
use mysql;
select host,user,password from user;
可以看到在user表中已有刚才创建的kay用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
将host字段的值改为%就表示在任何客户端机器上能以kay用户登录到mysql服务器,建议在开发时设为%。
update user set host = '%' where user = 'kay';
还有一个方法::
A、 ./mysqladmin -uroot -p21century reload
./mysqladmin -uroot -p21century shutdown
B、./mysqld_safe --user-root
记住:对授权表的任何修改都需要重新reload,即执行第3步。
以创建wordpress网站的数据库为例
1、创建数据库
创建可指定字符,或者不指定字符,如果不指定字符,默认为 utf8mb4 和 utf8mb4_0900_ai_ci
2、创建用户
可自行指定用户可访问的IP地址范围。
3、授权用户
4、直接一步到位
或者 这种方法 :创建并授权用户,是二和三的合并。
1、查看数据库
show databases可查询所有存在的数据库
2、查看用户信息
用户信息在系统数据库mysql中的user表中。密码查询不会显示明文密码,而是显示为加密后的密文。
3、查看用户权限
有两种方式查看。
第一种方式 : show grants for 'userwordpress';
第二种方式: select * from mysql.user where user='userwordpress'G;
g 相当于’;’
G使每个字段打印到单独的行,也有 ’;' 的作用
只能查出哪个数据库的哪张表的权限,如查userwordpress在mysql数据库的user表的权限,显示都是N(no),没有权限,如果查root用户就都是Y(yes)选择了。
用drop而非delete,简单的区分就是,drop是删除【表】,truncate与delete则是删除表中【记录】。
删除用户
同理,删除数据库
用drop删除时,会有确认信息,为了防止误删。(删库跑路,请谨慎操作)