MySQL 赋予用户权限命令的简单格式可概括为:
grant 权限 on 数据库对象 to 用户
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@'%' identified by 'password'
grant insert on testdb.* to common_user@'%' identified by 'password'
grant update on testdb.* to common_user@'%' identified by 'password'
grant delete on testdb.* to common_user@'%'
或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@'%' identified by 'password'
二、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 all privileges on testdb to dba@'localhost'
其中,关键字 “privileges” 可以省略。
五、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 用户权限的权限。
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 来统一管理。
#查看grant添加的用户:select user,host from mysql.user;
#删除用户:
mysql> drop user "tongor"@localhost;
更改管理员密码
在一切正常后,要做的第一件事情是更改管理员的密码。你可以运行mysqladmin
格式: mysqladmin -u 用户名 -p 旧密码 password 新密码
SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD( ‘*********’ )
set password for root=password(“456″);
update user set password=password(‘456′);
清除密码
#mysqladmin -uroot -p456 password”"
# mysqladmin -u root password newpassword
此命令把root用户的口令变成newpassword。当然你可以把口令换成其它,因为这个很容易破解。
如果忘记密码,可以使用mysqld_safe –skip-grant-tables &启动mysql后,不用密码进入。
>use mysql
>update user set password=password(“new_pass”) where user=”root”;
>flush privileges;
更改管理员密码
在一切正常后,要做的第一件事情是更改管理员的密码。你可以运行mysqladmin
格式: mysqladmin -u 用户名 -p 旧密码 password 新密码
SET PASSWORD FOR ‘root’@'localhost’ = PASSWORD( ‘*********’ )
set password for root=password(“456″);
update user set password=password(‘456′);
清除密码
#mysqladmin -uroot -p456 password”"
# mysqladmin -u root password newpassword
此命令把root用户的口令变成newpassword。当然你可以把口令换成其它,因为这个很容易破解。
如果忘记密码,可以使用mysqld_safe –skip-grant-tables &启动mysql后,不用密码进入。
>use mysql
>update user set password=password(“new_pass”) where user=”root”;
>flush privileges;
进入MySQL
你需要提供一个MySQL用户和此用户的口令。如果数据库运行在其它机器上,而不是你所在的这台机器上你需要指定主机名。
命令:
mysql -h <主机名> -u <用户名> -p <数据库名>
Enter password: ********
********代表你的口令;当mysql显示Enter password:提示时输入它。
例如,在此机器上,你可以敲入:
# mysql -u root -p mysql
Enter password:
你需要提供一个MySQL用户和此用户的口令。如果数据库运行在其它机器上,而不是你所在的这台机器上你需要指定主机名。
命令:
mysql -h <主机名> -u <用户名> -p <数据库名>
Enter password: ********
********代表你的口令;当mysql显示Enter password:提示时输入它。
例如,在此机器上,你可以敲入:
# mysql -u root -p mysql
Enter password:
相关推荐
### MySQL授权问题解决办法 在处理MySQL数据库时,经常会遇到各种授权问题,这些问题可能会影响到数据库的正常使用和管理。本文将详细介绍如何解决MySQL中的授权问题,包括但不限于如何更改root用户的密码、如何...
MySQL 授权问题总结 MySQL 授权问题是 MySQL 数据库管理中非常重要的一部分。正确地管理用户权限可以确保数据库的安全性和稳定性。本文总结了 MySQL 授权问题的相关知识点,包括授权表的使用、grant 语句、revoke ...
### 远程用户连接MySQL授权详解 #### 一、引言 随着互联网技术的发展与企业规模的扩大,数据库系统的远程访问需求日益增加。对于MySQL这样的关系型数据库管理系统而言,实现远程用户连接授权变得尤为重要。本文将...
MySQL 数据操作是数据库管理系统中的核心功能,用于创建、读取、更新和删除...总的来说,MySQL的数据操作和授权管理是数据库管理员和开发者的必备技能,理解并熟练掌握这些概念对于有效管理和保护数据库至关重要。
#------------mysql root 用户无法赋权问题解决 -------- 1,登录 mysql -u root -p 2,use mysql; 选择mysql数据库 3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效) mysql> select user,host,...
在探讨“mysql远程访问授权”这一主题时,我们首先需要理解MySQL作为一种广泛使用的开源关系型数据库管理系统,如何通过网络提供服务,以及如何安全地管理远程访问权限。远程访问授权是MySQL服务器安全策略的重要...
MySQL 中创建用户及授权 MySQL 中创建用户及授权是数据库管理中的一项重要任务。以下是创建用户及授权的详细介绍。 创建用户 在 MySQL 中创建用户有两种方法:使用 CREATE USER 命令和使用 GRANT 命令。 使用 ...
本篇文章将深入探讨如何进行MySQL授权管理,特别是针对标题中提到的问题——"mysql授权管理1"。 首先,我们从给定的描述中可以看到一个常见的错误提示:“Caused by: ...
MySQL用户管理和用户授权是数据库系统中的关键操作,用于确保数据安全和访问控制。本文将详细介绍MySQL中的用户管理,包括创建用户、查看用户信息、重命名用户、删除用户以及修改密码,以及用户授权的相关操作,如...
MySQL授权是数据库管理中的核心环节,它涉及到用户访问权限的设定与管理,确保了数据库系统的安全性和稳定性。在MySQL中,管理员可以通过GRANT和REVOKE命令来赋予或撤销用户对数据库对象(如表、视图、存储过程等)...
标题中的“2018最新PHP+mysql域名授权查询系统”指的是一个基于PHP编程语言和MySQL数据库技术构建的用于授权验证的系统。这样的系统通常用于管理软件或在线服务的许可证,确保用户在合法的域名下使用产品。它可能...
4. **版本更新**:4.8.0版的更新包括取消软件授权期限、修复bit int类型的bug、自动获取binlog时间、优化挖掘算法、去除对mysql命令的依赖、增加在线binlog下载、增强软件健壮性、修复科学记数法处理问题、以及解决...
步骤二:跳过授权表启动MySQL服务程序。在这个阶段,需要在MySQL的配置文件***f中添加`skip_grant_tables=1`选项,这样可以启动服务而不加载授权表。之后,使用`systemctl restart mysqld.service`命令来重启服务。 ...
MySQL 语句大全:创建、授权、查询、修改
可以用root身份在另一台机子上访问mysql远程服务器的设置
mysql5.5、mysql5.5、mysql5.7、mysql8 ...MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小 、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
这种功能可能不包含在MySQL 8版授权给你。如果你有任何问题的特征包含在你的MySQL 8版,指的是你的MySQL 8许可协议或与Oracle的销售代表。笔记详细介绍每个版本的变化,看MySQL 8版本说明 合法的信息,包括许可证...
MySQL中的用户管理和授权是数据库系统安全的关键组成部分。MySQL允许管理员创建、管理用户,并根据需要授予不同的权限,确保数据的安全性和访问控制。以下是关于MySQL用户及授权的一些详细知识点: 1. **创建用户**...