mariadb用户群体mysql_MySQL/MariaDB用户账户管理

'Username'@'Hostname'

Username:任意的字符串组合,只能包含基本意义的字符;可以包含"_"、"."、"-";

Hostname:可以为FQDN(完全合格域名),域名,IP地址,可使用MySQL通配符"_"代表任意单个字符"%"代表任意多个任意字符;

创建用户账户:

CREATE USER语句:

CREATE USER user [IDENTIFIED BY [PASSWORD] 'password' | IDENTIFIED WITH auth_plugin [AS 'auth_string']]

示例:

MariaDB [mysql]> create user 'testuser'@'%';

MariaDB [mysql]> create user 'testuser'@'%' identified by 'qhdlink';

也可以使用DML语句创建用户账户:

INSERT INTO mysql.user SET User='testuser',Host='%',Password=PASSWORD('qhdlink');

示例:

MariaDB [mysql]> insert into user set User='user1',Host='%',Password=PASSWORD('qhdlink'),ssl_cipher='',x509_issuer='',x509_subject='',authentication_string='';

重命名用户账户:

RENAME USER语句:

RENAME USER old_user TO new_user [, old_user TO new_user] ...

示例:

MariaDB [mysql]> rename user 'testuser'@'%' to 'test'@'172.16.%.%';

也可以使用DML语句重命名用户账户:

示例:

MariaDB [mysql]> update user set User='user01',Host='172.16.75.%' where User='user1';

删除用户账户:

DROP USER语句:

DROP USER user [, user] ...

示例:

MariaDB [mysql]> drop user 'test'@'172.16.%.%';

也可以使用DML语句删除用户账户:

示例:

MariaDB [mysql]> delete from user where User='user01';

用户账户的密码管理:

1.SET PASSWORD语句:

SET PASSWORD [FOR user] = { PASSWORD('cleartext password') | OLD_PASSWORD('cleartext password') | 'encrypted password' }

示例:

MariaDB [mysql]> set password for 'test'@'%' = PASSWORD('qhdlink');

2.也可以使用DML语句修改用户账户密码:(向该数据库中插入一条数据)

示例:

MariaDB [mysql]> update user set Password=PASSWORD('qhdlink.com') where User='test';

3.mysqladmin工具:

# mysqladmin -uUSERNAME -hHOSTNAME -p password 'NEW_PASSWORD'

注意:执行此操作的MySQL用户需要对mysql.user表有修改权限;

忘记MySQL管理员的密码的解决办法:

方法一:

1.停止当前的MySQL或MariaDB服务;

2. 在/etc/my.cnf文件中加入下列两条服务器参数:

skip-grant-tables = ON

skip-networking = ON

3.启动MySQL或MariaDB服务,使用mysql或mysqladmin客户端工具以空秘密的root用户登录,进行root用户的密码修改;

4.从/etc/my.cnf中删除上述两条服务器参数,再重启服务即可;

方法二:

1.停止当前的MySQL或MariaDB服务;

2.使用命令启动MySQL服务:

# mysqld_safe --skip-grant-tables --skip-networking

3.启动另一个会话连接,并使用mysql或mysqladmin客户端工具以空密码的root用户的身份修改其密码;

4.kill掉此前的mysqld-safe及衍生的mysqld服务;

5.再正常启动服务即可;

用户授权管理(当用户不存在时自动创建该用户):

GRANT语句:

GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...

ON [object_type] priv_level

TO user_specification [, user_specification] ...

[REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]

[WITH with_option ...]

priv_type:

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, FILE, SHOW DATABASES, PROCESS, SUPER

object_type:

TABLE | FUNCTION | PROCEDURE

priv_level:

* | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name

*:表示所有的数据库;

*.*:表示所有数据库中的所有表对象;

db_name.*:表示指定数据库中的所有表对象;

db_name.tbl_name:表示指定数据库中的指定的表对象;

tbl_name:表示当前正在使用的数据库中的指定的表对象;

db_name.routine_name:表示指定数据库中的指定存储函数后存储过程对象;通常需要使用object_type参数共同决定;

user_specification:

user [ IDENTIFIED BY [PASSWORD] 'password' | IDENTIFIED WITH auth_plugin [AS 'auth_string' ] ]

ssl_option:

SSL | X509 | CIPHER 'cipher' | ISSUER 'issuer' | SUBJECT 'subject'

with_option:

GRANT OPTION | MAX_QUERIES_PER_HOUR count | MAX_UPDATES_PER_HOUR count | MAX_CONNECTIONS_PER_HOUR count | MAX_USER_CONNECTIONS count

示例:

MariaDB [mysql]> grant all privileges on hellodb.* to 'test'@'%';

MariaDB [mysql]> grant select,update on hellodb.students to 'test'@'%';

MariaDB [mysql]> grant select(Name,Age,ClassID) on hellodb.students to 'test'@'%';

也可以对某些基本表创建视图之后,再对视图进行用户权限授权:

MariaDB [hellodb]> create view stu_base as select Name,Age,ClassID from students;

MariaDB [hellodb]> grant all on hellodb.stu_base to 'test'@'%';

取消授权/收回授权:

REVOKE语句:

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...

ON [object_type] priv_level

FROM user [, user] ...

REVOKE ALL PRIVILEGES, GRANT OPTION

FROM user [, user] ...

示例:

MariaDB [mysql]> revoke delete on hellodb.* from 'test'@'%';

MariaDB [mysql]> revoke all on hellodb.students from 'test'@'%';

MariaDB [mysql]> revoke select(Age,ClassID) on hellodb.students from 'test'@'%';

注意:在取消已经做出的授权时,REVOKE语句所指定的priv_level部分应该和授权时GRANT语句所指定的priv_level保持绝对一致;否则判定此次取消授权的操作失败;

示例:前提是testdb数据库中包含有tb1和tb2两张表;

MariaDB [testdb]> grant all on testdb.* to 'test'@'%';

MariaDB [testdb]> revoke all on testdb.tb2 from 'test'@'%';

ERROR 1147 (42000): There is no such grant defined for user 'test' on host '%' on table 'tb2'

正确的取回授权的方式:

MariaDB [testdb]> revoke all on testdb.* from 'test'@'%';

MariaDB [testdb]> grant all on testdb.tb1 to 'test'@'%';

此时,'test'@'%'用户就只有对testdb数据库中tb2表有所有操作权限;

查看用户的授权:

SHOW GRANTS语句:

SHOW GRANTS [FOR user]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iBatis 相关

1、配置iBatis 返回类型&#xff08;例如&#xff0c;sum( ) 一个BigDeciaml列后 &#xff09; <select id"abatorgenerated_totalWt2" resultClass"java.math.BigDecimal" parameterClass"java.lang.String">select sum(shp_wt2) from T0…

比AlphaGo Zero更强的AlphaZero来了!8小时解决一切棋类!

来源&#xff1a;本文作者PENG Bo&#xff08;http://t.cn/RY3MKSS&#xff09;&#xff0c;本文首发于作者的知乎专栏《技术备忘录》 读过AlphaGo Zero论文的同学&#xff0c;可能都惊讶于它的方法的简单。另一方面&#xff0c;深度神经网络&#xff0c;是否能适用于国际象棋这…

直接插入排序比较次数_程序员必须要会的直接插入排序算法

算法主要衡量标准时间复杂度(运行时间)在算法时间复杂度维度&#xff0c;我们主要对比较和交换的次数做对比&#xff0c;其他不交换元素的算法&#xff0c;主要会以访问数组的次数的维度做对比。其实有很多同学对于算法的时间复杂度有点模糊&#xff0c;分不清什么所谓的 O(n),…

脑机接口技术如何具体实现?

来源&#xff1a;神经科技前沿 概要&#xff1a;人类心灵能够与人工智能、机器人和其它心灵通过脑机接口技术(BCI)直接相连&#xff0c;从而超越人类寿命的限制吗? 就像古希腊人梦想在天空翱翔一样&#xff0c;今天的人们总是梦想着将大脑与机器融合来解决令人讨厌的死亡问题。…

BPP 相关——02

BPP项目 HT 部分完成小结&#xff1a; 1、Action 类怎么写&#xff1f; 现在的做法是Action 层直接与 dao 层耦合&#xff0c;所有的功能都在 Action 类中完成。 缺点&#xff1a;如果 Action1 与 Action2 两个类有部分功能重复&#xff0c;在“避免重复代码”这样的原则下&am…

scrapy读取mysql数据库_python3实战scrapy获取数据保存至MySQL数据库

python3使用scrapy获取数据然后保存至MySQL数据库&#xff0c;我上一篇写了如何爬取数据保存为csv文件&#xff0c;这一篇将会写如何将数据保存至数据库。思路大都一样&#xff0c;我列一个思路&#xff1a;1&#xff1a;获取腾讯招聘网。2&#xff1a;筛选信息获取我们想要的。…

共享单车技术含量,一篇文章全说透了!

来源&#xff1a;物联网智库 概要&#xff1a;共享单车已经成为了中国新四大发明之一&#xff0c;被输往了世界上很多城市。 共享单车已经成为了中国新四大发明之一&#xff0c;被输往了世界上很多城市。在我看来&#xff0c;虽然共享单车的实现并不复杂&#xff0c;其实质是一…

PostgreSQL 分页——示例

SQL 语句 select * from ( select * from logizard.t04_case_dtl_wk where slip_id order100~1~l001 order by case_id ) as T04 limit 5 offset 0 ;结果图

人工智能企业自动化的关键现状和战略影响

来源&#xff1a;腾股创投&#xff08;微信ID: tengguvc&#xff09; 人工智能和机器学习在亚马逊 Alexa 等面向消费者的应用领域取得了长足的进步&#xff0c;在企业内的的部署也不断涌现。 关于 AI 自动化对企业的影响范围和影响程度的意见不一。 一方面&#xff0c;牛津大学…

mysql 递归查询树型结构_MySQL递归查询所有子节点,树形结构查询

--表结构CREATE TABLE address (id int(11) NOT NULL AUTO_INCREMENT,code_value varchar(32) DEFAULT NULL COMMENT ‘区域编码‘,name varchar(128) DEFAULT NULL COMMENT ‘区域名称‘,remark varchar(128) DEFAULT NULL COMMENT ‘说明‘,pid varchar(32) DEFAULT NULL COM…

Mac 右键拷贝文件失效

问题&#xff1a;Mac 右键拷贝文件失效&#xff0c;有时候拷贝可以成功&#xff0c;有时候拷贝不成功 发现问题所在&#xff1a;开了百度翻译的划词&#xff0c; 解决&#xff1a;把划词关掉就好了&#xff0c;或者设置划词快捷键翻译就好了&#xff0c;反正就不要一划就翻译那…

资源官网

卓越亚马逊 Ant&#xff0c; http://ant.apache.org/ Axis2&#xff0c;http://axis.apache.org/axis2/java/core/ DisplayTag&#xff0c; http://www.displaytag.org/1.2/ Eclipse&#xff0c; http://www.eclipse.org/ Maven&#xff0c;http://maven.apache.org/ MyS…

为什么神经网络会把乌龟识别成步枪?现在的 AI 值得信任吗?

来源&#xff1a;36Kr 概要&#xff1a;人工智能的快速发展的确值得欣喜&#xff0c;但快速发展的背后还有各种不完善的地方。 人工智能的快速发展的确值得欣喜&#xff0c;但快速发展的背后还有各种不完善的地方。比如&#xff0c;前不久麻省理工学院的一些学生&#xff0c;利…

mysql 5.7 not null_mysql5.7基础 select...where...is not null 查找不为NULL的内容

礼悟&#xff1a;公恒学思合行悟&#xff0c;尊师重道存感恩。叶见寻根三返一&#xff0c;江河湖海同一体。虚怀若谷良心主&#xff0c;愿行无悔给最苦。读书锻炼养身心&#xff0c;诚劝且行且珍惜。数据、数据&#xff0c;命根就在数据。操作数据库一定要谨慎小心。给最苦 这里…

Struts2自定义标签——示例

自定义Button功能描述&#xff1a; <tangs:button items"apple,orange,banana"/> 解析后为&#xff1a; <input type"button" name"apple" value"apple" /> <input type"button" name"orange…

深度学习的核心:掌握训练数据的方法

来源&#xff1a;云栖社区 概要&#xff1a;今天我们将讨论深度学习中最核心的问题之一&#xff1a;训练数据。 Hello World&#xff01; 今天我们将讨论深度学习中最核心的问题之一&#xff1a;训练数据。深度学习已经在现实世界得到了广泛运用&#xff0c;例如&#xff1a;无…

python停止运行tensorflow_Tensorflow 开启训练后卡死

毕设做深度学习的课题&#xff0c;使用到了TensorFlow&#xff0c;但训练时出现了问题&#xff1a;跑脚本开启训练之后&#xff0c;跑完不到100次就会卡死&#xff0c;然后显示python已停止工作这是我的训练的代码# 导入数据集import load_record# 导入TensorFlow并创建Session…

Struts2自定义标签(template)——示例

来源&#xff1a;http://www.blogjava.net/natlive/archive/2009/05/21/271890.html Struts2 的UITag原理&#xff1a; Struts2 UITag分三部份组成&#xff0c;一部份用于定义Tag的内容与逻辑的UIBean&#xff0c;一部份用于定义JSP Tag&#xff0c;也就是平时我们定义的那种&…

详解5G的六大关键技术

来源&#xff1a;电子产品世界 概要&#xff1a;在5G研发刚起步的情况下&#xff0c;如何建立一套全面的5G关键技术评估指标体系和评估方法&#xff0c;实现客观有效的第三方评估&#xff0c;服务技术与资源管理的发展需要&#xff0c;同样是当前5G技术发展所面临的重要问题。 …

mysql 懒加载数据_jpa如何懒加载大字段,懒加载之后又如何获取懒加载字段

前言&#xff1a;对于大字段&#xff0c;我们在查询列表的时候不需要查询&#xff0c;但是修改的时候有需要展示大字段内容&#xff0c;怎么办问1.jpa如何懒加载大字段&#xff1f;即查询列表的时候不查询出来问2.懒加载之后又如何获取懒加载字段。比如&#xff0c;在后台修改的…