MySQL 8.0 中 4 个默认的系统数据库

大家好,我是只谈技术不剪发的 Tony 老师。今天给大家介绍一下 MySQL 8.0 中默认安装的几个系统数据库/模式。

当我们安装 MySQL 8.0 并初始化数据库之后,默认会创建以下系统数据库:

  • mysql,存储了 MySQL 服务器正常运行所需的各种信息。
  • information_schema,提供了访问数据库元数据的各种视图,包括数据库、表、字段类型以及访问权限等。
  • performance_schema,为 MySQL 服务器的运行时状态提供了一个底层的监控功能。
  • sys,包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图。

使用SHOW DATABASES或者SHOW SCHEMAS命令查看所有的数据库/模式:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql 系统数据库

mysql 数据库存储了 MySQL 服务器正常运行所需的各种系统信息,包含了关于数据库对象元数据(metadata)的数据字典表和系统表。

从 MySQL 8.0 开始,mysql 系统表和数据字典表使用 InnoDB 存储引擎,存储在 MySQL 数据目录下的 mysql.ibd 表空间文件中。在 MySQL 5.7 之前,这些系统表使用 MyISAM 存储引擎,存储在 mysql 数据库文件目录下各自的表空间文件中。

为了便于理解和使用,mysql 系统数据库中的表可以分为多种类别,下面我们分别进行介绍。

数据字典表

这些表构成了 MySQL 的数据字典,也就是关于数据库对象的元数据。数据字典表对于用户而言是不可见的,不能使用 SELECT 进行查询,也不会出现在 SHOW TABLES 或者 INFORMATION_SCHEMA.TABLES 表中。不过,大多数表可以通过 INFORMATION_SCHEMA 数据库中相应的视图进行查询。

例如,我们不能直接查询 mysql.tables 表:

mysql> select * from mysql.tables;
ERROR 3554 (HY000): Access to data dictionary table 'mysql.tables' is rejected.

不过,可以通过 INFORMATION_SCHEMA.TABLES 查询数据库中的表:

mysql> select * from information_schema.tables;

具体来说,MySQL 8.0 包括以下数据字典表:

  • catalogs:系统目录(Catalog)信息。
  • character_sets:系统支持的字符集。
  • check_constraints:CHECK 约束信息。
  • collations:字符集支持的排序规则。
  • column_statistics:字段的直方图统计信息。
  • column_type_elements:字段的数据类型信息。
  • columns:表中的字段信息。
  • dd_properties:存储数据字典的属性,例如版本。服务器利用这些信息决定是否需要升级数据字典。
  • events:事件调度器中的事件信息。
  • foreign_keys、foreign_key_column_usage:外键相关的信息。
  • index_column_usage:索引字段信息。
  • index_partitions:索引分区信息。
  • index_stats:ANALYZE TABLE 命令生成的动态索引统计。
  • indexes:表中的索引信息。
  • innodb_ddl_log:支持原子 DDL 操作的日志。
  • parameter_type_elements:存储过程和函数的参数信息,以及存储函数的返回值类型
  • parameters:关于存储过程和函数的信息。
  • resource_groups:关于资源组的信息。
  • routines:关于存储过程和函数的信息。
  • schemata:关于数据库/模式的信息。在 MySQL 中,模式和数据库是相同的概念。
  • st_spatial_reference_systems:可以用于空间数据的空间参照系统。
  • table_partition_values:表分区使用的分区值。
  • table_partitions:表的分区信息。
  • table_stats:ANALYZE TABLE 命令生成的动态表统计。
  • tables:数据库中的表。
  • tablespace_files:表空间使用的文件。
  • tablespaces:活动表空间。
  • triggers:触发器。
  • view_routine_usage:视图和存储函数之间的依赖关系。
  • view_table_usage:视图和基表之间的依赖关系。

到目前为止,mysql.foreign_keys 和 mysql.foreign_key_column_usage 还没有完全对应的 INFORMATION_SCHEMA 表。按照 SQL 标准,可以使用 INFORMATION_SCHEMA 数据库中的 REFERENTIAL_CONSTRAINTS 和 KEY_COLUMN_USAGE 查询外键相关的信息。

从 MySQL 8.0 开始,一些 INFORMATION_SCHEMA 数据字典表取代了之前的系统表,这些系统表不再存在于 mysql 系统数据库中:

  • 数据字典表 events 取代了之前的 event 系统表。
  • 数据字典表 parameters 和 routines 共同取代了之前的 proc 系统表。

权限信息表

这些系统表存储了用户账户的授权信息以及它们拥有的权限。

从 MySQL 8.0 开始,这些权限表使用事务型的 InnoDB 存储引擎替代了之前的 MyISAM 存储引擎。存储引擎的改变也带来了账户管理行为的变化。例如之前的 CREATE USER 和 GRANT 语句如果同时操作多个用户,可能导致部分用户操作成功而其他用户操作失败;现在这些操作具有事务性,要么全部用户都操作成功,要么出现错误回滚所有的操作。

MySQL 8.0 中的权限信息表如下:

  • user:用户账户、全局权限以及其他信息。
  • global_grants:用户的动态全局权限。
  • db:数据库级别的权限。
  • tables_priv:表级别的权限。
  • columns_priv:字段级别的权限。
  • procs_priv:存储过程和函数上的权限。
  • proxies_priv:代理用户权限。
  • default_roles:用户连接并认证后默认激活的角色,或者执行 SET ROLE DEFAULT 命令后设置的角色。
  • role_edges:角色的授予关系。user 表中的一行数据既可能代表一个用户账户,也可能代表一个角色。
  • password_history:密码修改历史。

对象信息表

这些系统表包含了关于存储过程、组件、用户定义函数以及服务器端插件的信息:

  • component:服务器组件的注册信息。
  • func:用户定义函数(UDF)信息。
  • plugin:服务器端插件信息。

查询日志表

  • general_log:通用查询日志表。
  • slow_log:慢查询日志表。

这些日志表的存储引擎为 CSV。

服务器端帮助信息表

这些表中存储了服务器端相关的帮助信息:

  • help_category:帮助信息分类。
  • help_keyword:帮助信息关键字。
  • help_relation:关键字和帮助主题之间的关系。
  • help_topic:帮助主题的具体内容。

时区信息表

这些系统表包含了时区相关的信息:

  • time_zone:时区 ID 以及是否包含闰秒。
  • time_zone_leap_second:闰秒发生的情况。
  • time_zone_name:时区 ID 和名称的映射。
  • time_zone_transition、time_zone_transition_type:时区描述。

复制信息表

MySQL 服务器使用这些表维护复制功能:

  • gtid_executed:存储 GTID 数据。
  • ndb_binlog_index: NDB 集群复制的二进制日志信息。
  • slave_master_info、slave_relay_log_info、slave_worker_info:在从服务器上存储复制信息。

优化器系统表

这些系统表会被优化器使用:

  • innodb_index_stats、innodb_table_stats:InnoDB 优化器持久性统计信息。
  • server_cost、engine_cost:优化器成本模型需要使用这些表中存储的各种操作的评估成本进行优化。server_cost 包含了通用服务器操作的优化器成本估计,engine_cost 包含了特定存储引擎操作的优化器成本估计。

其他系统表

  • audit_log_filter、audit_log_user:如果安装了 MySQL Enterprise Audit,这些审计日志表中会存储关于审计日志过滤器和审计的用户账户信息。
  • firewall_users、firewall_whitelist:如果安装了 MySQL Enterprise Firewall,这些表中会存储企业防火墙使用的信息。
  • servers:FEDERATED 存储引擎使用的远程服务器连接信息。
  • innodb_dynamic_metadata:InnoDB 存储的快速变化的元数据,例如 auto-increment 计数值和索引损坏标识。该表用于替代 InnoDB 系统表空间中的数据字典缓冲表。

关于 mysql 系统数据库的更多信息,可以参考官方文档

information_schema 信息数据库

INFORMATION_SCHEMA 数据库提供了访问数据库元数据的各种视图,包括数据库、表、字段类型以及访问权限等。这些信息有时候也被称为数据字典(data dictionary )或者系统目录(system catalog),主要来源就是 mysql 系统数据库中的数据字典表。

INFORMATION_SCHEMA 中的表实际上都是只读的视图,只能执行查询操作,不能执行 DML 语句。通常使用SHOW语句查看的信息都存在对应的数据字典表,例如SHOW DATABASES语句也可以使用以下查询实现:

mysql> select schema_name
    -> from information_schema.schemata;
+--------------------+
| SCHEMA_NAME        |
+--------------------+
| mysql              |
| information_schema |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

information_schema.tables 存储了数据库中的所有表和视图信息,包括它自己的系统视图:

mysql> select table_name, table_type 
    -> from information_schema.tables
    -> where table_schema = 'information_schema';
+---------------------------------------+-------------+
| TABLE_NAME                            | TABLE_TYPE  |
+---------------------------------------+-------------+
| ADMINISTRABLE_ROLE_AUTHORIZATIONS     | SYSTEM VIEW |
| APPLICABLE_ROLES                      | SYSTEM VIEW |
| CHARACTER_SETS                        | SYSTEM VIEW |
...
| VIEWS                                 | SYSTEM VIEW |
| VIEW_ROUTINE_USAGE                    | SYSTEM VIEW |
| VIEW_TABLE_USAGE                      | SYSTEM VIEW |
+---------------------------------------+-------------+
73 rows in set (0.01 sec)

利用这些视图,我们可以方便地查看 MySQL 数据库、表结构、约束、索引以及视图、存储过程/函数、触发器、计划任务等信息。

另外,关于这些 INFORMATION_SCHEMA 表的完整介绍,可以参考官方文档

performance_schema 性能数据库

performance_schema 性能数据库为 MySQL 服务器的运行时状态提供了一个底层的监控功能。

MySQL 默认启动了性能数据库,也可以在启动服务时通过参数 performance_schema 指定是否启用。例如,在配置文件 my.cnf 中进行如下设置:

[mysqld]
performance_schema=ON

性能数据库中的表的存储引擎为 PERFORMANCE_SCHEMA,数据存储在内存中:

mysql> select table_name, table_type, engine
    -> from information_schema.tables
    -> where table_schema = 'performance_schema';
+------------------------------------------------------+------------+--------------------+
| TABLE_NAME                                           | TABLE_TYPE | ENGINE             |
+------------------------------------------------------+------------+--------------------+
| accounts                                             | BASE TABLE | PERFORMANCE_SCHEMA |
| binary_log_transaction_compression_stats             | BASE TABLE | PERFORMANCE_SCHEMA |
| cond_instances                                       | BASE TABLE | PERFORMANCE_SCHEMA |
...
| users                                                | BASE TABLE | PERFORMANCE_SCHEMA |
| variables_by_thread                                  | BASE TABLE | PERFORMANCE_SCHEMA |
| variables_info                                       | BASE TABLE | PERFORMANCE_SCHEMA |
+------------------------------------------------------+------------+--------------------+
104 rows in set (0.01 sec)

MySQL 服务每次启动时都会重新初始化性能数据库,我们可以使用以下命令查看是否成功初始化:

mysql> show variables like 'performance_schema';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| performance_schema | ON    |
+--------------------+-------+
1 row in set (0.01 sec)

ON 表示成功初始化;OFF 意味着出现了错误,此时需要检查服务器的错误日志进行处理。

performance_schema 数据库的名称是小写形式,所有的表名也是小写。我们可以使用 SHOW CREATE TABLE 命令查看表的定义,例如:

mysql> show create table performance_schema.users\G
*************************** 1. row ***************************
       Table: users
Create Table: CREATE TABLE `users` (
  `USER` char(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
  `CURRENT_CONNECTIONS` bigint NOT NULL,
  `TOTAL_CONNECTIONS` bigint NOT NULL,
  UNIQUE KEY `USER` (`USER`)
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

performance_schema 数据库中的表可以按照收集信息的类型分成不同的组:

  • 设置表,显示和修改监控配置。这些表的名称都以 setup_ 开始,例如 setup_objects 表存储了需要进行监控的对象。
  • 当前事件表,events_waits_current 表包含了每个线程最新的等待事件。其他类似的表包含了不同级别的等待事件:events_stages_current 代表每个线程当前执行阶段的事件,events_statements_current 代表了当前语句事件,events_transactions_current 代表了当前事务事件。
  • 历史事件表,这些表的结构和当前事件表相同,但是包含了更多的历史数据。例如 events_waits_history 表包含了每个线程最近的 10 个等待事件,events_waits_history_long 表包含了所有线程最近的 10000 个事件。阶段事件、语句事件以及事务事件也存在类似的历史事件表。
  • 事件汇总表,包含了按照不同事件分组汇总的信息,包括已经从历史事件表中移除的事件。例如,events_waits_summary_by_instance 代表了每个监测实例的等待事件汇总。
  • 监测实例表,记录了被检测的对象类型。每个监测对象会产生一个事件,这些表存储了事件名称和解释性说明或者状态信息。例如,file_instances 表存储了 I/O 监测涉及到的文件。
  • 其他表,例如 threads 表包含了每个线程的信息。

关于 performance_schema 表的分类和详细介绍,可以参考官方文档

初始情况下,并不是所有的监测项目(等待事件)和消费者(performance_schema 表)都处于启用状态,因此性能数据库不会收集所有事件并更新相应的 performance_schema 表。如果想要启用所有的监测事件和计时功能,可以执行以下两个语句:

mysql> UPDATE performance_schema.setup_instruments
       SET ENABLED = 'YES', TIMED = 'YES';
Query OK, 560 rows affected (0.04 sec)
mysql> UPDATE performance_schema.setup_consumers
       SET ENABLED = 'YES';
Query OK, 10 rows affected (0.00 sec)

当然,我们也可以根据需要启用或者禁用某个监测事件和 performance_schema 表的统计更新。

然后就可以通过上面介绍的各种等待事件表查看服务器的运行状态和性能数据。例如,以下查询可以获取占用最多等待时间的等待事件:

mysql> select event_name, sum_timer_wait
    -> from performance_schema.events_waits_summary_global_by_event_name
    -> order by sum_timer_wait desc limit 10;
+---------------------------------------+--------------------+
| event_name                            | sum_timer_wait     |
+---------------------------------------+--------------------+
| idle                                  | 709703548630225000 |
| wait/io/file/innodb/innodb_data_file  |     12991466035548 |
| wait/io/file/innodb/innodb_dblwr_file |      5866787225266 |
| wait/io/file/innodb/innodb_log_file   |      4101617858470 |
| wait/io/table/sql/handler             |      2467223162844 |
| wait/io/file/innodb/innodb_temp_file  |       518447928064 |
| wait/io/file/sql/binlog               |       324876178484 |
| wait/io/file/sql/binlog_index         |        71481172202 |
| wait/io/file/myisam/kfile             |        47731122384 |
| wait/io/file/sql/ERRMSG               |        42268213086 |
+---------------------------------------+--------------------+
10 rows in set (0.02 sec)

显然,我们的系统大部分时间都处于空闲状态(idle)。

关于性能数据库的更多信息,可以参考官方文档

sys 数据库

MySQL 5.7.7 引入了 sys 数据库,其中包含了一系列的视图,可以方便 DBA 和开发人员解释 performance_schema 性能数据库中收集的数据。sys 数据库中的对象主要用于性能调优和诊断,包括:

  • 视图,将性能数据库中的数据进行汇总,以更加容易理解的形式进行展示。
  • 存储过程,配置性能数据库以及生成诊断报告等操作。
  • 存储函数,用于查询性能数据库的配置和格式化服务。

对于全新的安装,如果使用 --initialize 或者 --initialize-insecure 选项执行 mysqld 初始化操作,默认会安装 sys 数据库。如果不想要安装 sys 数据库,可以在初始化之后手动删除。

sys 数据库中提供了一个存储配置选项的 sys_config 表以及该表上的两个触发器 sys_config_insert_set_user 和 sys_config_update_set_user。

sys 数据库中的视图大部分都是成对出现的,它们的名称相同,其中一个加上了 x$ 前缀。例如,视图 host_summary_by_file_io 汇总了按照主键分组的文件 I/O 并显示了更易阅读的延迟信息(而不是原本以皮秒为单位的延迟):

mysql> select * from sys.host_summary_by_file_io;
+------------+------+------------+
| host       | ios  | io_latency |
+------------+------+------------+
| background | 1630 | 4.53 s     |
| localhost  |    6 | 81.64 ms   |
+------------+------+------------+
2 rows in set (0.06 sec)

同时,视图 x$host_summary_by_file_io 汇总了相同的信息,但是延迟以皮秒为单位进行显示:

mysql> select * from sys.x$host_summary_by_file_io;
+------------+------+---------------+
| host       | ios  | io_latency    |
+------------+------+---------------+
| background | 1630 | 4528276024976 |
| localhost  |    6 |   81639950348 |
+------------+------+---------------+
2 rows in set (0.00 sec)

没有 x$ 前缀的视图是为了方便用户使用和查看p,包含 x$ 前缀的视图是为了其他工具进一步的处理。

sys 数据库中的以下视图可以为长时间运行的事务提供进度报告:

processlist
session
x$processlist
x$session

如果以及启动相应的测试项目和消费者,视图中的 progress 列会显示每个操作阶段(必须支持进度报告)的完成百分比。

mysqldump 和 mysqlpump 工具默认都不会导出 sys 数据库。如果想要导出该数据库,可以在命令行中明确指定 sys 数据库的名称:

mysqldump --databases --routines sys > sys_dump.sql
mysqlpump sys > sys_dump.sql

使用以下命令还原导出的备份文件:

mysql < sys_dump.sql

总结

数据字典、系统信息表和性能数据库,对于我们了解 MySQL 数据库的结构、日常维护管理以及性能的诊断和优化都至关重要。因此,无论是 DBA 还是开发人员,都应该熟悉并掌握这些数据库对象的意义和使用场景。我们也会在后续文章中针对每个系统数据库做进一步的详细介绍和演示。

如果觉得文章对你有用,请不要白嫖!欢迎关注❤️、评论📝、点赞👍!

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. MaxDB的历史 1.5.3. MaxDB的特性 1.5.4. 许可和支持 1.5.5. MaxDB和MySQL之间的特性差异 1.5.6. MaxDB和MySQL之间的协同性 1.5.7. 与MaxDB有关的链接 1.6. MySQL发展大事记 1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 1/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 1.7.1. MySQL邮件列 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. 选择SQL模式 1.8.3. 在ANSI模式下运行MySQL 1.8.4. MySQL对标准SQL的扩展 1.8.5. MySQL与标准SQL的差别 1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL 2.3.13. 测试MySQL安装 2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X安装MySQL 2.6. 在NetWare安装MySQL http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 2/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 2.7. 在其它类Unix系统安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权 2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意事项 2.12.6. OS/2注意事项 2.13. Perl安装注意事项 2.13.1. 在Unix安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建 3.3.3. 将数据装入 3.3.4. 从检索信息 3.4. 获得数据库的信息 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 3/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用选项 4.3.2. 使用选项文件 4.3.3. 用环境变量指定选项 4.3.4. 使用选项设置程序变量 5. 数据库管理 5.1. MySQL服务器服务器启动脚本 5.1.1. 服务器端脚本和实用工具概述 5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL服务器 5.3.1. mysqld命令行选项 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 4/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 5.3.2. SQL服务器模式 5.3.3. 服务器系统变量 5.3.4. 服务器状态变量 5.4. mysql_fix_privilege_tables:升级MySQL系统 5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的作用 5.7.2. 权限系统工作原理 5.7.3. MySQL提供的权限 5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1的密码哈希处理 5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与恢复 5.9.1. 数据库备份 5.9.2. 示例用备份与恢复策略 5.9.3. 自动恢复 5.9.4. 维护和崩溃恢复 5.9.5. myisamchk:MyISAM维护实用工具 5.9.6. 建立维护计划 5.9.7. 获取关于的信息 5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 5/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器上运行多个MySQL服务器 5.12.1. 在Windows下运行多个服务器 5.12.2. 在Unix运行多个服务器 5.12.3. 在多服务器环境使用客户端程序 5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3. 复制实施细节 6.3.1. 复制主线程状态 6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 6/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 6.11. 通报复制缺陷 6.12. 多服务器复制的Auto-Increment 7. 优化 7.1. 优化概述 7.1.1. MySQL设计局限与折衷 7.1.2. 为可移植性设计应用程序 7.1.3. 我们已将MySQL用在何处? 7.1.4. MySQL基准套件 7.1.5. 使用自己的基准 7.2. 优化SELECT语句和其它查询 7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化DISTINCT 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join 7.2.11. MySQL如何简化外部联合 7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 7/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 7.4.6. MyISAM键高速缓冲 7.4.7. MyISAM索引统计集合 7.4.8. MySQL如何计算打开的 7.4.9. MySQL如何打开和关闭 7.4.10. 在同一个数据库创建多个的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 7.5.6. MySQL如何使用DNS 7.6. 磁盘事宜 7.6.1. 使用符号链接 8. 客户端和实用工具程序 8.1. 客户端脚本和实用工具概述 8.2. myisampack:生成压缩、只读MyISAM 8.3. mysqlMySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库和列信息 8.12. myisamlog:显示MyISAM日志文件内容 8.13. perror:解释错误代码 8.14. replace:字符串替换实用工具 8.15. mysql_zap:杀死符合某一模式的进程 9. 语言结构 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 8/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL保留字的处理 10. 字符集支持 10.1. 常规字符集和校对 10.2. MySQL的字符集和校对 10.3. 确定默认字符集和校对 10.3.1. 服务器字符集和校对 10.3.2. 数据库字符集和校对 10.3.3. 字符集和校对 10.3.4. 列字符集和校对 10.3.5. 字符集和校对分配示例 10.3.6. 连接字符集和校对 10.3.7. 字符串文字字符集和校对 10.3.8. 在SQL语句使用COLLATE 10.3.9. COLLATE子句优先 10.3.10. BINARY操作符 10.3.11. 校对确定较为复杂的一些特殊情况 10.3.12. 校对必须适合字符集 10.3.13. 校对效果的示例 10.4. 字符集支持影响到的操作 10.4.1. 结果字符串 10.4.2. CONVERT() 10.4.3. CAST() 10.4.4. SHOW语句 10.5. Unicode支持 10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 9/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 欧字符集 10.10.4. 南欧与东字符集 10.10.5. 波罗的海字符集 10.10.6. 西里尔字符集 10.10.7. 亚洲字符集 11. 列类型 11.1. 列类型概述 11.1.1. 数值类型概述 11.1.2. 日期和时间类型概述 11.1.3. 字符串类型概述 11.2. 数值类型 11.3. 日期和时间类型 11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 12.1.1. 操作符优先级 12.1.2. 圆括号 12.1.3. 比较函数和操作符 12.1.4. 逻辑操作符 12.2. 控制流程函数 12.3. 字符串函数 12.3.1. 字符串比较函数 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 10/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 12.4. 数值函数 12.4.1. 算术操作符 12.4.2. 数学函数 12.5. 日期和时间函数 12.6. MySQL使用什么日历? 12.7. 全文搜索功能 12.7.1. 布尔全文搜索 12.7.2. 全文搜索带查询扩展 12.7.3. 全文停止字 12.7.4. 全文限定条件 12.7.5. 微调MySQL全文搜索 12.8. Cast函数和操作符 12.9. 其他函数 12.9.1. 位函数 12.9.2. 加密函数 12.9.3. 信息函数 12.9.4. 其他函数 12.10. 与GROUP BY子句同时使用的函数和修改程序 12.10.1. GROUP BY(聚合)函数 12.10.2. GROUP BY修改程序 12.10.3. 具有隐含字段的GROUP BY 13. SQL语句语法 13.1. 数据定义语句 13.1.1. ALTER DATABASE语法 13.1.2. ALTER TABLE语法 13.1.3. CREATE DATABASE语法 13.1.4. CREATE INDEX语法 13.1.5. CREATE TABLE语法 13.1.6. DROP DATABASE语法 13.1.7. DROP INDEX语法 13.1.8. DROP TABLE语法 13.1.9. RENAME TABLE语法 13.2. 数据操作语句 13.2.1. DELETE语法 13.2.2. DO语法 13.2.3. HANDLER语法 13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 11/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取有关列的信息) 13.3.2. USE语法 13.4. MySQL事务处理和锁定语句 13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法 13.4.2. 不能回滚的语句 13.4.3. 会造成隐式提交的语句 13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句 13.6.1. 用于控制主服务器的SQL语句 13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给 14.6. 存储引擎和事务 14.7. 插入存储引擎 14.8. 拔出存储引擎 14.9. 插件式存储器的安全含义 15. 存储引擎和类型 15.1. MyISAM存储引擎 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 12/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 15.1.1. MyISAM启动选项 15.1.2. 键所需的空间 15.1.3. MyISAM的存储格式 15.1.4. MyISAM方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB空间 15.2.6. 创建InnoDB 15.2.7. 添加和删除InnoDB数据和日志文件 15.2.8. InnoDB数据库的备份和恢复 15.2.9. 将InnoDB数据库移到另一台机器上 15.2.10. InnoDB事务模型和锁定 15.2.11. InnoDB性能调节提示 15.2.12. 多版本的实施 15.2.13. 和索引结构 15.2.14. 文件空间管理和磁盘I/O 15.2.15. InnoDB错误处理 15.2.16. 对InnoDB的限制 15.2.17. InnoDB故障诊断与排除 15.3. MERGE存储引擎 15.3.1. MERGE方面的问题 15.4. MEMORY (HEAP)存储引擎 15.5. BDB (BerkeleyDB)存储引擎 15.5.1. BDB支持的操作系统 15.5.2. 安装BDB 15.5.3. BDB启动选项 15.5.4. BDB的特性 15.5.5. 修改BDB所需的事宜 15.5.6. 对BDB的限制 15.5.7. 使用BDB时可能出现的错误 15.6. EXAMPLE存储引擎 15.7. FEDERATED存储引擎 15.7.1. 安装FEDERATED存储引擎 15.7.2. FEDERATED存储引擎介绍 15.7.3. 如何使用FEDERATED http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 13/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 15.7.4. FEDERATED存储引擎的局限性 15.8. ARCHIVE存储引擎 15.9. CSV存储引擎 15.10. BLACKHOLE存储引擎 16. 编写自定义存储引擎 16.1. 前言 16.2. 概述 16.3. 创建存储引擎源文件 16.4. 创建handlerton 16.5. 对处理程序进行实例化处理 16.6. 定义扩展 16.7. 创建 16.8. 打开 16.9. 实施基本的扫描功能 16.9.1. 实施store_lock()函数 16.9.2. 实施external_lock()函数 16.9.3. 实施rnd_init()函数 16.9.4. 实施info()函数 16.9.5. 实施extra()函数 16.9.6. 实施rnd_next()函数 16.10. 关闭 16.11. 为存储引擎添加对INSERT的支持 16.12. 为存储引擎添加对UPDATE的支持 16.13. 为存储引擎添加对DELETE的支持 16.14. API引用 16.14.1. bas_ext 16.14.2. close 16.14.3. create 16.14.4. delete_row 16.14.5. delete_table 16.14.6. external_lock 16.14.7. extra 16.14.8. info 16.14.9. open 16.14.10. rnd_init 16.14.11. rnd_next 16.14.12. store_lock 16.14.13. update_row http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 14/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 16.14.14. write_row 17. MySQL簇 17.1. MySQL簇概述 17.2. MySQL簇的基本概念 17.3. 多计算机的简单基础知识 17.3.1. 硬件、软件和联网 17.3.2. 安装 17.3.3. 配置 17.3.4. 首次启动 17.3.5. 加载示例数据并执行查询 17.3.6. 安全关闭和重启 17.4. MySQL簇的配置 17.4.1. 从源码创建MySQL簇 17.4.2. 安装软件 17.4.3. MySQL簇的快速测试设置 17.4.4. 配置文件 17.5. MySQL的进程管理 17.5.1. 用于MySQL簇的MySQL服务器进程使用 17.5.2. ndbd,存储引擎节点进程 17.5.3. ndb_mgmd,“管理服务器”进程 17.5.4. ndb_mgm,“管理客户端”进程 17.5.5. 用于MySQL簇进程的命令选项 17.6. MySQL簇的管理 17.6.1. MySQL簇的启动阶段 17.6.2. “管理客户端”的命令 17.6.3. MySQL生成的事件报告 17.6.4. 单用户模式 17.6.5. MySQL簇的联机备份 17.7. 使用与MySQL簇的高速互连 17.7.1. 配置MySQL簇以使用SCI套接字 17.7.2. 理解簇互连的影响 17.8. MySQL簇的已知限制 17.9. MySQL簇发展的重要历程 17.9.1. MySQL 5.0MySQL簇变化 17.9.2. 关于MySQL簇的MySQL 5.1发展历程 17.10. MySQL簇常见问题解答 17.11. MySQL簇术语 18. 分区 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 15/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 18.1. MySQL的分区概述 18.2. 分区类型 18.2.1. RANGE分区 18.2.2. LIST分区 18.2.3. HASH分区 18.2.4. KEY分区 18.2.5. 子分区 18.2.6. MySQL分区处理NULL值的方式 18.3. 分区管理 18.3.1. RANGE和LIST分区的管理 18.3.2. HASH和KEY分区的管理 18.3.3. 分区维护 18.3.4. 获取关于分区的信息 19. MySQL的空间扩展 19.1. 前言 19.2. OpenGIS几何模型 19.2.1. Geometry类的层次 19.2.2. 类Geometry 19.2.3. 类Point 19.2.4. 类Curve 19.2.5. 类LineString 19.2.6. 类Surface 19.2.7. 类Polygon 19.2.8. 类GeometryCollection 19.2.9. 类MultiPoint 19.2.10. 类MultiCurve 19.2.11. 类MultiLineString 19.2.12. 类MultiSurface 19.2.13. 类MultiPolygon 19.3. 支持的空间数据格式 19.3.1. 著名的文本(WKT)格式 19.3.2. 著名的二进制(WKB)格式 19.4. 创建具备空间功能MySQL数据库 19.4.1. MySQL空间数据类型 19.4.2. 创建空间值 19.4.3. 创建空间列 19.4.4. 填充空间列 19.4.5. 获取空间数据 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 16/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 19.5. 分析空间信息 19.5.1. Geometry格式转换函数 19.5.2. Geometry函数 19.5.3. 从已有Geometry创建新Geometry的函数 19.5.4. 测试几何对象间空间关系的函数 19.5.5. 关于几何最小边界矩形(MBR)的关系 19.5.6. 测试几何类之间空间关系的函数 19.6. 优化空间分析 19.6.1. 创建空间索引 19.6.2. 使用空间索引 19.7. MySQL的一致性和兼容性 19.7.1. 尚未实施的GIS特性 20. 存储程序和函数 20.1. 存储程序和授权 20.2. 存储程序的语法 20.2.1. CREATE PROCEDURE和CREATE FUNCTION 20.2.2. ALTER PROCEDURE和ALTER FUNCTION 20.2.3. DROP PROCEDURE和DROP FUNCTION 20.2.4. SHOW CREATE PROCEDURE和SHOW CREATE FUNCTION 20.2.5. SHOW PROCEDURE STATUS和SHOW FUNCTION STATUS 20.2.6. CALL语句 20.2.7. BEGIN ... END复合语句 20.2.8. DECLARE语句 20.2.9. 存储程序的变量 20.2.10. 条件和处理程序 20.2.11. 光标 20.2.12. 流程控制构造 20.3. 存储程序、函数、触发程序和复制:常见问题 20.4. 存储子程序和触发程序的二进制日志功能 21. 触发程序 21.1. CREATE TRIGGER语法 21.2. DROP TRIGGER语法 21.3. 使用触发程序 22. 视图 22.1. ALTER VIEW语法 22.2. CREATE VIEW语法 22.3. DROP VIEW语法 22.4. SHOW CREATE VIEW语法 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 17/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 23. INFORMATION_SCHEMA信息数据库 23.1. INFORMATION_SCHEMA 23.1.1. INFORMATION_SCHEMA SCHEMATA 23.1.2. INFORMATION_SCHEMA TABLES 23.1.3. INFORMATION_SCHEMA COLUMNS 23.1.4. INFORMATION_SCHEMA STATISTICS 23.1.5. INFORMATION_SCHEMA USER_PRIVILEGES 23.1.6. INFORMATION_SCHEMA SCHEMA_PRIVILEGES 23.1.7. INFORMATION_SCHEMA TABLE_PRIVILEGES 23.1.8. INFORMATION_SCHEMA COLUMN_PRIVILEGES 23.1.9. INFORMATION_SCHEMA CHARACTER_SETS 23.1.10. INFORMATION_SCHEMA COLLATIONS 23.1.11. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY 23.1.12. INFORMATION_SCHEMA TABLE_CONSTRAINTS 23.1.13. INFORMATION_SCHEMA KEY_COLUMN_USAGE 23.1.14. INFORMATION_SCHEMA ROUTINES 23.1.15. INFORMATION_SCHEMA VIEWS 23.1.16. INFORMATION_SCHEMA TRIGGERS 23.1.17. 其他INFORMATION_SCHEMA 23.2. SHOW语句的扩展 24. 精度数学 24.1. 数值的类型 24.2. DECIMAL数据类型更改 24.3. 达式处理 24.4. 四舍五入 24.5. 精度数学示例 25. API和库 25.1. libmysqld,嵌入式MySQL服务器库 25.1.1. 嵌入式MySQL服务器库概述 25.1.2. 使用libmysqld编译程序 25.1.3. 使用嵌入式MySQL服务器时的限制 25.1.4. 与嵌入式服务器一起使用的选项 25.1.5. 嵌入式服务器尚需完成的事项(TODO) 25.1.6. 嵌入式服务器示例 25.1.7. 嵌入式服务器的许可 25.2. MySQL C API 25.2.1. C API数据类型 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 18/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 25.2.2. C API函数概述 25.2.3. C API函数描述 25.2.4. C API预处理语句 25.2.5. C API预处理语句的数据类型 25.2.6. C API预处理语句函数概述 25.2.7. C API预处理语句函数描述 25.2.8. C API预处理语句方面的问题 25.2.9. 多查询执行的C API处理 25.2.10. 日期和时间值的C API处理 25.2.11. C API线程函数介绍 25.2.12. C API嵌入式服务器函数介绍 25.2.13. 使用C API时的常见问题 25.2.14. 创建客户端程序 25.2.15. 如何生成线程式客户端 25.3. MySQL PHP API 25.3.1. 使用MySQL和PHP的常见问题 25.4. MySQL Perl API 25.5. MySQL C++ API 25.5.1. Borland C++ 25.6. MySQL Python API 25.7. MySQL Tcl API 25.8. MySQL Eiffel Wrapper 25.9. MySQL程序开发实用工具 25.9.1. msql2mysql:转换mSQL程序以用于MySQL 25.9.2. mysql_config:获取编译客户端的编译选项 26. 连接器 26.1. MySQL Connector/ODBC 26.1.1. MyODBC介绍 26.1.2. 关于ODBC和MyODBC的一般信息 26.1.3. 如何安装MyODBC 26.1.4. 在Windows平台上从二进制版本安装MyODBC 26.1.5. I在Unix平台上从二进制版本安装MyODBC 26.1.6. 在Windows平台上从源码版本安装MyODBC 26.1.7. 在Unix平台上从源码版本安装MyODBC 26.1.8. 从BitKeeper开发源码树安装MyODBC 26.1.9. MyODBC配置 26.1.10. 与MyODBC连接相关的事宜 26.1.11. MyODBC和Microsoft Access http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 19/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 26.1.12. MyODBC和Microsoft VBA及ASP 26.1.13. MyODBC和第三方ODBC工具 26.1.14. MyODBC通用功能 26.1.15. 基本的MyODBC应用步骤 26.1.16. MyODBC API引用 26.1.17. MyODBC数据类型 26.1.18. MyODBC错误代码 26.1.19. MyODBC与VB:ADO、DAO和RDO 26.1.20. MyODBC与Microsoft.NET 26.1.21. 感谢 26.2. MySQL Connector/NET 26.2.1. 前言 26.2.2. 下载并安装MySQL Connector/NET 26.2.3. Connector/NET体系结构 26.2.4. 使用MySQL Connector/NET 26.2.5. MySQL Connector/NET变更史 26.3. MySQL Connector/J 26.3.1. 基本的JDBC概念 26.3.2. 安装 Connector/J 26.3.3. JDBC引用 26.3.4. 与J2EE和其他Java框架一起使用 Connector/J 26.3.5. 诊断 Connector/J方面的问题 26.3.6. Changelog 26.4. MySQL Connector/MXJ 26.4.1. 前言 26.4.2. 支持平台: 26.4.3. Junit测试要求 26.4.4. 运行Junit测试 26.4.5. 作为JDBC驱动程序的一部分运行 26.4.6. 在Java对象运行 26.4.7. MysqldResource API 26.4.8. 在JMX代理(custom)运行 26.4.9. 部署在标准的JMX代理环境下 (JBoss) 26.4.10. 安装 27. 扩展MySQL 27.1. MySQL内部控件 27.1.1. MySQL线程 27.1.2. MySQL测试套件 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 20/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 27.2. 为MySQL添加新函数 27.2.1. 自定义函数接口的特性 27.2.2. CREATE FUNCTION/DROP FUNCTION语法 27.2.3. 添加新的自定义函数 27.2.4. 添加新的固有函数 27.3. 为MySQL添加新步骤 27.3.1. 步骤分析 27.3.2. 编写步骤 A. 问题和常见错误 A.1. 如何确定导致问题的原因 A.2. 使用MySQL程序时的常见错误 A.2.1. 拒绝访问 A.2.2. 无法连接到[local] MySQL服务器 A.2.3. 客户端不支持鉴定协议 A.2.4. 输入密码时出现密码错误 A.2.5. 主机的host_name被屏蔽 A.2.6. 连接数过多 A.2.7. 内存溢出 A.2.8. MySQL服务器不可用 A.2.9. 信息包过大 A.2.10. 通信错误和失效连接 A.2.11. 已满 A.2.12. 无法创建文件/写入文件 A.2.13. 命令不同步 A.2.14. 忽略用户 A.2.15. tbl_name不存在 A.2.16. 无法初始化字符集 A.2.17. 文件未找到 A.3. 与安装有关的事宜 A.3.1. 与MySQL客户端库的链接问题 A.3.2. 如何以普通用户身份运行MySQL A.3.3. 与文件许可有关的问题 A.4. 与管理有关的事宜 A.4.1. 如何复位根用户密码 A.4.2. 如果MySQL依然崩溃,应作些什么 A.4.3. MySQL处理磁盘满的方式 A.4.4. MySQL将临时文件储存在哪里 A.4.5. 如何保护或更改MySQL套接字文件/tmp/mysql.sock http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 21/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual A.4.6. 时区问题 A.5. 与查询有关的事宜 A.5.1. 搜索的大小写敏感性 A.5.2. 使用DATE列方面的问题 A.5.3. 与NULL值有关的问题 A.5.4. 与列别名有关的问题 A.5.5. 非事务回滚失败 A.5.6. 从相关删除行 A.5.7. 解决与不匹配行有关的问题 A.5.8. 与浮点比较有关的问题 A.6. 与优化器有关的事宜 A.7. 与定义有关的事宜 A.7.1. 与ALTER TABLE有关的问题 A.7.2. 如何更改的列顺序 A.7.3. TEMPORARY TABLE问题 A.8. MySQL的已知事宜 A.8.1. MySQL的打开事宜 B. 错误代码和消息 B.1. 服务器错误代码和消息 B.2. 客户端错误代码和消息 C. 感谢 C.1. MySQL AB处的开发人 C.2. MySQL贡献人 C.3. 资料员和译员 C.4. MySQL使用和包含的库 C.5. 支持MySQL的软件包 C.6. 用于创建MySQL的工具 C.7. MySQL支持人员 D. MySQL变更史 D.1. 5.1.x版的变更情况(开发) D.1.1. 5.1.2版的变更情况(尚未发布) D.1.2. 5.1.1版的变更情况(尚未发布) D.2. MyODBC的变更情况 D.2.1. MyODBC 3.51.12的变更情况 D.2.2. MyODBC 3.51.11的变更情况 E. 移植到其他系统 E.1. 调试MySQL服务器 E.1.1. 针对调试编译MySQL

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不剪发的Tony老师

为 5 个 C 币而折腰。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值