《MySQL必知必会》第二十八~第三十章

第二十八~第三十章

第二十八章

MySQL的安全基础是用户不能对过多的数据具有过多的访问权,即需要给用户提供他们所需的访问权,且仅提供他们所需的访问权,这就是访问控制

在现实的日常工作中,决不能使用root,应该创建一系列的账号

MySQL用户账号和信息存储在名为mysql的MySQL数据库中,在需要获得所有用户账号列表时

USE mysql;
SELECT user FROM user;

mysql数据库中有一个名为user的表,包含所有用户账号

创建一个新用户账号,创建时不一定需要口令,再次列出账号时吗,就会看到新账号

CREATE USER ben IDENTIFIED BY 'p@$$0rd';

IDENTIFIED BY指定的口令为纯文本,MySQL将在保存到user表之前对其进行加密,为了作为散列值指定口令,使用IDENTIFIED BY xxx

GRANT语句也可以创建用户账号,但是CREATE USER更清楚简单

也可以直接插入行到user表中来增加用户,但不安全,不建议这样做

重新命名一个用户账号

RENAME USER ben TO bforta;

删除用户账号

DROP USER bforta;

新创建的用户账号没有访问权限,只能登陆MySQL,但看不到数据,也无法进行任何操作

为了看到用户账号的权限

SHOW GRANTS FOR bforta;

MySQL的权限用用户名和主机名联合定义,如果不指定主机名,使用默认主机名%,如bforta@%

设置权限

GRANT SELECT ON crashcourse.* TO bforta;

此GRANT允许用户在crashcourse.*(crashcourse数据库 的所有表)上使用SELECT,从此具有了只读访问权限

此时再执行命令查看权限,会发现多了一条

SHOW GRANTS FOR bforta;

撤销特定的权限,被撤销的访问权限必须存在,否则出错

REVOKE SELECT ON crashcourse.* 	FROM bforta;

GRANT和REVOKE可以在几个层次上控制访问权限

1、整个服务器,使用GRANT ALL和REVOKE ALL

2、整个数据库,使用ON database.*

3、特定的表,使用ON database.table

4、特定的列

5、特定的存储过程

相关权限见书p202~p203

简化多次授权,用逗号分隔

GRANT SELECT, INSERT ON crashcourse.* TO bforta;

更改口令,新口令必须传递到Passwor()函数进行加密

SET PASSWORD FOR bforta = Password('n3w p@$$w0rd');

不指定用户名时,更新当前登录用户的口令

SET PASSWORD = Password('n3w p@$$w0rd');

第二十九章

检查表键是否正常

ANALYZE TABLE orders;

CHECK TABLE针对许多问题对表进行检查

CHECK TABLE orders, orderitems;

在排除系统启动问题时,首先应该尽量用手动启动服务器,MySQL服务器自身通过在命令行上执行mysqld启动,几个常用的mysqld命令行选项

–help 显示帮助

–safe-mode装载减去某些最佳配置的服务器

–verbose显示全文本消息

–version显示版本信息然后退出

MySQL维护管理员依赖的一系列日志文件,主要有

1、错误日志

2、查询日志

3、二进制日志

4、缓慢查询日志

第三十章

一些改善性能的建议

MySQL是用一系列默认设置预先配置的,一段时间后可能需要调整内存分配,缓冲区大小等

MySQL是一个多用户多线程的DBMS,若某一个任务执行缓慢,则所有请求都会执行缓慢,可以用SHOW PROCESSLIST显示所有活动进程,用KILL终结某个特定的进程

一条SELECT语句有多种编写方法,寻找最佳方法

一般来说,存储过程比一条一条执行其中的MySQL语句更快

尽量不用SELECT *,只检索需要的数据

LIKE很慢,最好使用FULLTEXT

……

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《MySQL必知必会》是一本经典的MySQL数据库入门教材,该书由Ben Forta撰写,适合初学者和有一定数据库基础的读者阅读。这本书着重介绍了MySQL数据库的基本原理、数据类型、查询语句、数据操作、事务控制以及安全性等方面的知识。 本书以简单易懂的方式讲解了MySQL数据库的基本概念和操作技巧,适合初学者进行自学。无论是想学习数据库编程的开发人员,还是想了解数据库管理的系统管理员,都可以通过阅读本书掌握必要的MySQL数据库知识。 《MySQL必知必会》的内容丰富全面,并且配有大量的示例和练习题,读者可以通过实践加深对知识的理解和掌握。此外,该书还介绍了一些高级主题,如存储过程、触发器和视图等,帮助读者进一步提升数据库应用能力。 总的来说,《MySQL必知必会》是一本对于学习MySQL数据库的人来说非常有价值的参考书。无论是初学者还是有一定数据库基础的人,都可以通过阅读本书快速学习和掌握MySQL数据库的相关知识。读者可以根据自己的需求和兴趣,选择适合自己的章节进行阅读和学习。 ### 回答2: MySQL必知必会是一本非常有价值的参考书籍,对于想要学习和掌握MySQL数据库的人来说非常有用。这本书详细介绍了MySQL数据库的基本概念、基础语法和高级功能,以及如何优化和管理数据库。 首先,MySQL必知必会通过简洁清晰的语言和丰富的实例,介绍了数据库的概念和原理,帮助读者建立起正确的数据库思维模式。它从关系型数据库的基本概念开始讲解,包括表、行、列、主键等,然后逐步介绍了SQL语言的基本语法和常用命令,如SELECT、INSERT、UPDATE、DELETE等。 其次,MySQL必知必会还深入讲解了MySQL数据库的高级功能,如多表查询、子查询、连接和视图等。这些功能对于处理复杂的数据查询和分析非常重要,通过学习这些知识,读者可以更加灵活地操作数据库,提高工作效率。 此外,MySQL必知必会还涵盖了数据库优化和管理的内容。它介绍了如何正确设计和规划数据库结构,以及如何使用索引和分区来提高查询效率。此外,它还讲解了如何备份和恢复数据库,以及如何监控和优化数据库性能。 总之,MySQL必知必会是一本详细介绍MySQL数据库基础知识和高级功能的优秀书籍。无论是初学者还是有一定经验的开发者,都可以从中学习到很多宝贵的知识和技巧。它不仅可以帮助读者快速入门MySQL,还可以帮助他们提高数据库操作的能力和效率。无论是学习、工作还是项目开发,都值得推荐阅读。 ### 回答3: MySQL必知必会是一本非常受欢迎的MySQL入门书籍,适合初学者和有一定基础的用户阅读。这本书的作者是Ben Forta,他详细介绍了MySQL数据库的基本概念、语法以及如何进行数据库设计和管理。 MySQL必知必会的特点之一是其简洁明了的语言和结构。它从最基本的概念开始讲解,逐步引导读者了解如何创建和管理数据库、表和索引。书中还包含大量的示例和练习题,帮助读者加深理解,并提供了一些常见错误和解决方法。 此外,这本书还涵盖了MySQL数据库的高级主题,如安全性、性能调优和复制。通过深入研究这些主题,读者可以进一步提升他们在MySQL数据库管理方面的技能。 MySQL必知必会还强调了SQL语言的重要性,它是用于与数据库进行交互的主要语言。读者将学习如何使用SQL语句查询、插入、更新和删除数据。此外,书中还介绍了一些高级的SQL技巧,如JOIN和子查询。 总的来说,MySQL必知必会是一本非常实用的MySQL入门书籍,不仅适合初学者,也适合那些希望巩固和提升MySQL数据库管理技能的用户。无论是在学术领域还是实际工作中,掌握MySQL数据库是一个非常有用的技能,而这本书可以帮助读者快速入门和精通这一技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值