Part2在guide中是从第33章开始到第42章结束,有10章的内容在这部分中,主要是围绕性能和安全展开。下面我们将逐章介绍考试中出现的内容。
Chapter 33
考察点:存储过程(Stored Routines)存储过程可以限制普通用户直接访问或是修改表,通过赋予用户适当权限,使用存储过程来间接获得所要数据;通过在存储过程定义是设置DEFINER安全特性是特定用户也能访问到表。
答案中的关键词/句:DEFINER security characteristic、execute privilege、 gateways、BEFORE trigger
需要了解的:存储过程也提升查询的性能,它是一系列操作语句的结合,调用存储过程使,所有语句会一次传输给服务器,最后结果也是一次性返回,这样就避免多次客户端与服务器的交互,减少了在网络传输中的带宽消耗。
Chapter 34
考察点:在权限表中,不动权限对应的不同操作;权限表的审核顺序;GRANT的语法;修改密码的方法;资源限制参数。
答案中的关键词/句:1.PROCESS or SUPTER or SHUTDOWN privileges for viewing client process activity or killing connections or for stopping server.
2. Privilege check order as follow: user、db、tables_priv、columns_priv、procs_priv
3. CREATE USER, GRANT, REVOKE, or SET PASSWORD will automatically reload in-memory content of grant tables. It is necessary to execute the FLUSH PRIVILEGES statement after using INSERT, DELETE, or UPDATE statements.
4. A account-management statement is easier to use and its syntax is more natural and less cumbersome.
5. If SQL MODE=NO_AUTO_CREATE_USER, GRANT statement must add IDENTIFIED BY clause.
6. To grant some privileges to other accounts, add a WITH GRANT OPTION clause.
7. SET PASSORD FOR ‘USER’@’HOST’=PASSWORD (‘NEWPASS’);
8. MAX_CONNECTIONS_PER_HOUR — The number of times per hour the account is allowed to connect to the server
MAX_QUERIES_PER_HOUR — The number of queries per hour the account is allowed to issue
MAX_UPDATES_PER_HOUR — The number of updates per hour the account is allowed to issue
需要了解的:1.权限表中包含了账户信息和所有可赋予的权限;权限分为全局权限、表级、列级等;
2.权限表在MySQL的安装的过程中就已经生成;
3.权限的审核是在内存中的权限表的副本中进行的;
4.帐号管理语句:CREATE USER,DELETE USER,RENAME USER,GRANT,REVOKE,SET PASSWORD;
5.查看用户权限show grants for;
6.运行相应命令所需要的权限;
7.帐号匹配原则:具体记录优先,先比较HOST(localhost最优,其次127.0.0.1),然后比较USER;
8.使用–skip-grant-tables参数启动后,可通过FULSH PRIVILEGES重新让权限表生效和使用—skip-networking参数启动后,必须重新启动MYSQL服务。
Chapter 35
考察点:个级别的安全问题;通过自带的安全脚本安装MYSQL。
答案中的关键词/句:1.Operating system security、Filesystem security、Network security
2. mysql_secure_installation script
需要了解的:1.操作系统上的服务转一化,控制用户数量;
2. MYSQL的文件和目录只属于mysql用户本身;
3.控制LOAD DATA INFILE 和SELECT … INTO OUTFILE语句的操作;
4.以mysql用户启动数据库;bind-address参数可以客户端的主机;
5.Windows内部链接方式:--shared-memory和--enable-named-pipe(mysqld-nt)。
Chapter 36
考察点:如何更新权限表。
答案中的关键词/句:1.the mysql_fix_privilege_tables program
需要了解的:SQL模式中的TRADITIONAL。
Chapter 39
考察点:系统内存参数的合理配置(很具体的,也回忆不起来了:>)
答案中的关键词/句:Global (Server-Wide) Parameters、Per-Client Parameters
需要了解的:1.show variables显示系统的配置参数(其中一些参数是静态的,只能在系统启动前设置,而有些则是动态的,可以在系统运行过程中修改配置), show status显示运行中的状态参数,status提供精简的信息;
2. MyISAM用key_buffer_cache缓存索引,数据缓存由操作系统文件系统管理,而InnoDB自己管理索引和数据的缓存;
3. miss rate = key_reads/key_read_requests | efficiency= 1 – miss rate;
4.innodb_buffer_pool_size缓存InnoDB中的数据和索引;
Chapter 40
考察点:没有什么内容
答案中的关键词/句:
需要了解的:1.通过命令show errors、show warnnings、perror以及日志文件查看诊断信息;
2. 命令mysqldumpslow可以帮助我们分析慢查询日志。
Chapter 41
考察点:磁盘的性能对数据库性能的影响。
答案中的关键词/句:1. The most important parameter of disk “speed” is seek time, not transfer rate.
2. backlog在选项中出现过,大家在看guide的时候遇到了主意一下。
需要了解的:知识点很简单,大家稍微看看就可以了。
Chapter 42
考察点:一台服务器上同时安装多个MYSQL数据库;如何配置Replication应用。
答案中的关键词/句:1. Each server normally manages its own data directory. Each server must have its own network interfaces. Each server must have its own log files.
2. mysqld_multi is a Perl script intended to make it easier to manage multiple servers on a single host.
3. MySQL Instance Manager will replace mysqld_multi.
4. CHANGE MASTER
5. –binlog-do-db and –binlog-ignore-db、 –replicate-do-db and –replicate-ignore-db.
需要了解的:1.使用mysqld_multi脚本需要事先安装Perl DBI模块;
2. 不同的服务会从对应的mysql服务组中([mysql1]、[mysql2]…)读取参数,也可以都从[mysqld]组中读取相应参数;(在Part1的考试中有考过)
3. 在配置Replication是注意master和slave主机数据库版本的兼容性;
4. 使用命令show slave status查看slave线程是否运行正常,命令start slave打开slave线程;
5. Relication配置过程中需要注意:参数server_id的唯一性,是否启动bin-log日志,master是否允许slave连接;
6. 了解一下Replication应用中在master和slave端线程的不同分工。