我们今天主要向大家讨论的是用MySQL GRANT语句来增添新的用户的实际操作方案,以及对图解MySQL数据库的实际安装步骤与具体操作,你如果对其有兴趣的话你就可以点击以下的文章进行观看了。 如何实现MySQL(和PHP搭配之最佳组合)数据库的备份与恢复 MySQL(和PHP
我们今天主要向大家讨论的是用MySQL GRANT语句来增添新的用户的实际操作方案,以及对图解MySQL数据库的实际安装步骤与具体操作,你如果对其有兴趣的话你就可以点击以下的文章进行观看了。
如何实现MySQL(和PHP搭配之最佳组合)数据库的备份与恢复
MySQL(和PHP搭配之最佳组合)数据库接口的VC实现与应用(2)
如何备份MySQL(和PHP搭配之最佳组合)数据库
MySQL(和PHP搭配之最佳组合):用Java来测试MySQL(和PHP搭配之最佳组合)数据库的最
MySQL(和PHP搭配之最佳组合)数据库技术(01)
如何在ASP中连接MySQL(和PHP搭配之最佳组合)数据库
最简便的MySQL(和PHP搭配之最佳组合)数据库备份的方法
MySQL(和PHP搭配之最佳组合)数据库备份与恢复
MySQL(和PHP搭配之最佳组合)数据库连接过多的错误,可能的原
下面的例子显示如何使用MySQL(和PHP搭配之最佳组合)客户安装新用户。这些例子假定权限已缺省被安装。
这意味着为了改变,你必须在MySQL(和PHP搭配之最佳组合)正在运行同一台机器上,你必须作为MySQL(和PHP搭配之最佳组合) root用户连接,并且root用户必须对MySQL(和PHP搭配之最佳组合)数据库有insert权限和reload管理权限。另外,如果你改变了root用户口令,你必须如下的MySQL(和PHP搭配之最佳组合)命令指定它。
你可以通过发出MySQL GRANT语句增加新用户:
<ol class="dp-xml"><li class="alt"><span><span>shell</span><span class="tag">></span><span> MySQL(和PHP搭配之最佳组合) </span><span class="attribute">--user</span><span>=</span><span class="attribute-value">root</span><span> MySQL(和PHP搭配之最佳组合) <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> GRANT ALL PRIVILEGES ON *.* <br>TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION; <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> MySQL GRANT RELOAD,PROCESS ON *.* TO admin@localhost; MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> MySQL GRANT USAGE ON *.* TO dummy@localhost; </span></span></li></ol>
这些GRANT语句安装3个新用户:
monty:可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令('something'做这个。注意,我们必须对monty@localhost和monty@"%"发出MySQL GRANT语句。
如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由MySQL(和PHP搭配之最佳组合)_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。
admin:可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行MySQL(和PHP搭配之最佳组合)admin reload、MySQL(和PHP搭配之最佳组合)admin refresh和MySQL(和PHP搭配之最佳组合)admin flush-*命令,还有MySQL(和PHP搭配之最佳组合)admin processlist。
没有授予数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。
dummy:可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为'N'--USAGE权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予数据库相关的权限。
你也可以直接通过发出INSERT语句增加同样的用户存取信息,然后告诉服务器再次装入授权表:
<ol class="dp-xml"><li class="alt"><span><span>shell</span><span class="tag">></span><span> MySQL(和PHP搭配之最佳组合) </span><span class="attribute">--user</span><span>=</span><span class="attribute-value">root</span><span> MySQL(和PHP搭配之最佳组合) <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO user <br>VALUES('localhost','monty',PASSWORD('something'), <br>'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO user <br>VALUES('%','monty',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y') <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO user SET </span><span class="attribute">Host</span><span>=</span><span class="attribute-value">'localhost'</span><span>,</span><span class="attribute">User</span><span>=</span><span class="attribute-value">'admin'</span><span>, </span><span class="attribute">Reload_priv</span><span>=</span><span class="attribute-value">'Y'</span><span>, </span><span class="attribute">Process_priv</span><span>=</span><span class="attribute-value">'Y'</span><span>; <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO user (Host,User,Password) VALUES('localhost','dummy',''); <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> FLUSH PRIVILEGES; </span></span></li></ol>
取决于你的MySQL(和PHP搭配之最佳组合)版本,对上述,你可能必须使用一个不同数目'Y'值(在3.22.11以前的版本有更少的权限列)。对admin用户,只用在3.22.11开始的版本具有的更加可读的INSERT扩充的语法。
注意,为了设置一个超级用户,你只需创造一个user表条目,其权限字段设为'Y'。不需要db或host表的条目。
在user表中的权限列不是由最后一个INSERT语句明确设置的(对dummy用户),因此那些列被赋予缺省值'N'。这是MySQL GRANT USAGE做的同样的事情。
下列例子增加一个用户custom,他能从主机localhost、server.domain和whitehouse.gov连接。他只想要从localhost存取bankaccount数据库,从whitehouse.gov存取expenses数据库和从所有3台主机存取customer数据库。他想要从所有3台主机上使用口令stupid。
为了使用GRANT语句设置个用户的权限,运行这些命令:
<ol class="dp-xml"><li class="alt"><span><span>shell</span><span class="tag">></span><span> MySQL(和PHP搭配之最佳组合) </span><span class="attribute">--user</span><span>=</span><span class="attribute-value">root</span><span> MySQL(和PHP搭配之最佳组合) MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> MySQL GRANT SELECT,<br>INSERT,UPDATE,DELETE,CREATE,DROP ON bankaccount.* TO custom@localhost IDENTIFIED BY 'stupid'; <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON expenses.* <br>TO custom@whitehouse.gov IDENTIFIED BY 'stupid'; <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> MySQL GRANT SELECT,<br>INSERT,UPDATE,DELETE,CREATE,DROP ON customer.* TO custom@'%' IDENTIFIED BY 'stupid'; </span></span></li></ol>
通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSH PRIVILEGES):
<ol class="dp-xml"><li class="alt"><span><span>shell</span><span class="tag">></span><span> MySQL(和PHP搭配之最佳组合) </span><span class="attribute">--user</span><span>=</span><span class="attribute-value">root</span><span> MySQL(和PHP搭配之最佳组合) <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO user (Host,User,Password) VALUES('localhost','custom',PASSWORD('stupid')); <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO user (Host,User,Password) VALUES('server.domain','custom',PASSWORD('stupid')); <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO user (Host,User,Password) VALUES('whitehouse.gov','custom',PASSWORD('stupid')); <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv, <br>Create_priv,Drop_priv) VALUES ('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y'); <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,<br>Update_priv,Delete_priv, Create_priv,Drop_priv) VALUES ('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y'); <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,<br>Update_priv,Delete_priv, Create_priv,Drop_priv) VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y'); <br>MySQL(和PHP搭配之最佳组合)</span><span class="tag">></span><span> FLUSH PRIVILEGES; </span></span></li></ol>

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB

MySQL/InnoDB支持四种事务隔离级别:ReadUncommitted、ReadCommitted、RepeatableRead和Serializable。1.ReadUncommitted允许读取未提交数据,可能导致脏读。2.ReadCommitted避免脏读,但可能发生不可重复读。3.RepeatableRead是默认级别,避免脏读和不可重复读,但可能发生幻读。4.Serializable避免所有并发问题,但降低并发性。选择合适的隔离级别需平衡数据一致性和性能需求。

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL学习路径包括基础知识、核心概念、使用示例和优化技巧。1)了解表、行、列、SQL查询等基础概念。2)学习MySQL的定义、工作原理和优势。3)掌握基本CRUD操作和高级用法,如索引和存储过程。4)熟悉常见错误调试和性能优化建议,如合理使用索引和优化查询。通过这些步骤,你将全面掌握MySQL的使用和优化。

MySQL在现实世界的应用包括基础数据库设计和复杂查询优化。1)基本用法:用于存储和管理用户数据,如插入、查询、更新和删除用户信息。2)高级用法:处理复杂业务逻辑,如电子商务平台的订单和库存管理。3)性能优化:通过合理使用索引、分区表和查询缓存来提升性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

Atom编辑器mac版下载
最流行的的开源编辑器

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中