国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

directory search
目錄 前言 1. 一般信息 1.1. 關(guān)于本手冊 1.2. 本手冊采用的慣例 1.3. MySQL AB概述 1.4. MySQL數(shù)據(jù)庫管理系統(tǒng)概述 1.4.1. MySQL的歷史 1.4.2. MySQL的的主要特性 1.4.3. MySQL穩(wěn)定性 1.4.4. MySQL表最大能達到多少 1.4.5. 2000年兼容性 1.5. MaxDB數(shù)據(jù)庫管理系統(tǒng)概述 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之間的協(xié)同性 1.5.7. 與MaxDB有關(guān)的鏈接 1.6. MySQL發(fā)展大事記 1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL郵件列表 1.7.2. IRC(在線聊天系統(tǒng))上的MySQL社區(qū)支持 1.7.3. MySQL論壇上的MySQL社區(qū)支持 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支持的操作系統(tǒng) 2.1.2. 選擇要安裝的MySQL分發(fā)版 2.1.3. 怎樣獲得MySQL 2.1.4. 通過MD5校驗和或GnuPG驗證軟件包的完整性 2.1.5. 安裝布局 2.2. 使用二進制分發(fā)版的標準MySQL安裝 2.3. 在Windows上安裝MySQL 2.3.1. Windows系統(tǒng)要求 2.3.2. 選擇安裝軟件包 2.3.3. 用自動安裝器安裝MySQL 2.3.4. 使用MySQL安裝向?qū)?/a> 2.3.5. 使用配置向?qū)?/a> 2.3.6. 通過非安裝Zip文件安裝MySQL 2.3.7. 提取安裝檔案文件 2.3.8. 創(chuàng)建選項文件 2.3.9. 選擇MySQL服務(wù)器類型 2.3.10. 首次啟動服務(wù)器 2.3.11. 從Windows命令行啟動MySQL 2.3.12. 以Windows服務(wù)方式啟動MySQL 2.3.13. 測試MySQL安裝 2.3.14. 在Windows環(huán)境下對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 2.7. 在其它類Unix系統(tǒng)中安裝MySQL 2.8. 使用源碼分發(fā)版安裝MySQL 2.8.1. 源碼安裝概述 2.8.2. 典型配置選項 2.8.3. 從開發(fā)源碼樹安裝 2.8.4. 處理MySQL編譯問題 2.8.5. MIT-pthreads注意事項 2.8.6. 在Windows下從源碼安裝MySQL 2.8.7. 在Windows下編譯MySQL客戶端 2.9. 安裝后的設(shè)置和測試 2.9.1. Windows下安裝后的過程 2.9.2. Unix下安裝后的過程 2.9.3. 使初始MySQL賬戶安全 2.10. 升級MySQL 2.10.1. 從5.0版升級 2.10.2. 升級授權(quán)表 2.10.3. 將MySQL數(shù)據(jù)庫拷貝到另一臺機器 2.11. 降級MySQL 2.12. 具體操作系統(tǒng)相關(guān)的注意事項 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. 連接與斷開服務(wù)器 3.2. 輸入查詢 3.3. 創(chuàng)建并使用數(shù)據(jù)庫 3.3.1. 創(chuàng)建并選擇數(shù)據(jù)庫 3.3.2. 創(chuàng)建表 3.3.3. 將數(shù)據(jù)裝入表中 3.3.4. 從表檢索信息 3.4. 獲得數(shù)據(jù)庫和表的信息 NoName 3.6. 常用查詢的例子 3.6.1. 列的最大值 3.6.2. 擁有某個列的最大值的行 3.6.3. 列的最大值:按組 3.6.4. 擁有某個字段的組間最大值的行 3.6.5. 使用用戶變量 3.6.6. 使用外鍵 3.6.7. 根據(jù)兩個鍵搜索 3.6.8. 根據(jù)天計算訪問量 3.6.9. 使用AUTO_INCREMENT 3.7. 孿生項目的查詢 3.7.1. 查找所有未分發(fā)的孿生項 3.7.2. 顯示孿生對狀態(tài)的表 3.8. 與Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 調(diào)用MySQL程序 4.3. 指定程序選項 4.3.1. 在命令行上使用選項 4.3.2. 使用選項文件 4.3.3. 用環(huán)境變量指定選項 4.3.4. 使用選項設(shè)置程序變量 5. 數(shù)據(jù)庫管理 5.1. MySQL服務(wù)器和服務(wù)器啟動腳本 5.1.1. 服務(wù)器端腳本和實用工具概述 5.1.2. mysqld-max擴展MySQL服務(wù)器 5.1.3. mysqld_safe:MySQL服務(wù)器啟動腳本 5.1.4. mysql.server:MySQL服務(wù)器啟動腳本 5.1.5. mysqld_multi:管理多個MySQL服務(wù)器的程序 5.2. mysqlmanager:MySQL實例管理器 5.2.1. 用MySQL實例管理器啟動MySQL服務(wù)器 5.2.2. 連接到MySQL實例管理器并創(chuàng)建用戶賬戶 5.2.3. MySQL實例管理器命令行選項 5.2.4. MySQL實例管理器配置文件 5.2.5. MySQL實例管理器識別的命令 5.3. mysqld:MySQL服務(wù)器 5.3.1. mysqld命令行選項 5.3.2. SQL服務(wù)器模式 5.3.3. 服務(wù)器系統(tǒng)變量 5.3.4. 服務(wù)器狀態(tài)變量 5.4. mysql_fix_privilege_tables:升級MySQL系統(tǒng)表 5.5. MySQL服務(wù)器關(guān)機進程 5.6. 一般安全問題 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻擊者面前保持安全 5.6.3. Mysqld安全相關(guān)啟動選項 5.6.4. LOAD DATA LOCAL安全問題 5.7. MySQL訪問權(quán)限系統(tǒng) 5.7.1. 權(quán)限系統(tǒng)的作用 5.7.2. 權(quán)限系統(tǒng)工作原理 5.7.3. MySQL提供的權(quán)限 5.7.4. 與MySQL服務(wù)器連接 5.7.5. 訪問控制 5.7.6. 訪問控制 5.7.7. 權(quán)限更改何時生效 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. 設(shè)置賬戶密碼 5.8.6. 使你的密碼安全 5.8.7. 使用安全連接 5.9. 備份與恢復(fù) 5.9.1. 數(shù)據(jù)庫備份 5.9.2. 示例用備份與恢復(fù)策略 5.9.3. 自動恢復(fù) 5.9.4. 表維護和崩潰恢復(fù) 5.9.5. myisamchk:MyISAM表維護實用工具 5.9.6. 建立表維護計劃 5.9.7. 獲取關(guān)于表的信息 5.10. MySQL本地化和國際應(yīng)用 5.10.1. 數(shù)據(jù)和排序用字符集 5.10.2. 設(shè)置錯誤消息語言 5.10.3. 添加新的字符集 5.10.4. 字符定義數(shù)組 5.10.5. 字符串比較支持 5.10.6. 多字節(jié)字符支持 5.10.7. 字符集問題 5.10.8. MySQL服務(wù)器時區(qū)支持 5.11. MySQL日志文件 5.11.1. 錯誤日志 5.11.2. 通用查詢?nèi)罩?/a> 5.11.3. 二進制日志 5.11.4. 慢速查詢?nèi)罩?/a> 5.11.5. 日志文件維護 5.12. 在同一臺機器上運行多個MySQL服務(wù)器 5.12.1. 在Windows下運行多個服務(wù)器 5.12.2. 在Unix中運行多個服務(wù)器 5.12.3. 在多服務(wù)器環(huán)境中使用客戶端程序 5.13. MySQL查詢高速緩沖 5.13.1. 查詢高速緩沖如何工作 5.13.2. 查詢高速緩沖SELECT選項 5.13.3. 查詢高速緩沖配置 5.13.4. 查詢高速緩沖狀態(tài)和維護 6. MySQL中的復(fù)制 6.1. 復(fù)制介紹 6.2. 復(fù)制實施概述 6.3. 復(fù)制實施細節(jié) 6.3.1. 復(fù)制主線程狀態(tài) 6.3.2. 復(fù)制從I/O線程狀態(tài) 6.3.3. 復(fù)制從SQL線程狀態(tài) 6.3.4. 復(fù)制傳遞和狀態(tài)文件 6.4. 如何設(shè)置復(fù)制 6.5. 不同MySQL版本之間的復(fù)制兼容性 6.6. 升級復(fù)制設(shè)置 6.6.1. 將復(fù)制升級到5.0版 6.7. 復(fù)制特性和已知問題 6.8. 復(fù)制啟動選項 6.9. 復(fù)制FAQ 6.10. 復(fù)制故障診斷與排除 6.11. 通報復(fù)制缺陷 6.12. 多服務(wù)器復(fù)制中的Auto-Increment 7. 優(yōu)化 7.1. 優(yōu)化概述 7.1.1. MySQL設(shè)計局限與折衷 7.1.2. 為可移植性設(shè)計應(yīng)用程序 7.1.3. 我們已將MySQL用在何處? 7.1.4. MySQL基準套件 7.1.5. 使用自己的基準 7.2. 優(yōu)化SELECT語句和其它查詢 7.2.1. EXPLAIN語法(獲取SELECT相關(guān)信息) 7.2.2. 估計查詢性能 7.2.3. SELECT查詢的速度 7.2.4. MySQL怎樣優(yōu)化WHERE子句 7.2.5. 范圍優(yōu)化 7.2.6. 索引合并優(yōu)化 7.2.7. MySQL如何優(yōu)化IS NULL 7.2.8. MySQL如何優(yōu)化DISTINCT 7.2.9. MySQL如何優(yōu)化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何優(yōu)化嵌套Join 7.2.11. MySQL如何簡化外部聯(lián)合 7.2.12. MySQL如何優(yōu)化ORDER BY 7.2.13. MySQL如何優(yōu)化GROUP BY 7.2.14. MySQL如何優(yōu)化LIMIT 7.2.15. 如何避免表掃描 7.2.16. INSERT語句的速度 7.2.17. UPDATE語句的速度 7.2.18. DELETE語句的速度 7.2.19. 其它優(yōu)化技巧 7.3. 鎖定事宜 7.3.1. 鎖定方法 7.3.2. 表鎖定事宜 7.4. 優(yōu)化數(shù)據(jù)庫結(jié)構(gòu) 7.4.1. 設(shè)計選擇 7.4.2. 使你的數(shù)據(jù)盡可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 7.4.6. MyISAM鍵高速緩沖 7.4.7. MyISAM索引統(tǒng)計集合 7.4.8. MySQL如何計算打開的表 7.4.9. MySQL如何打開和關(guān)閉表 7.4.10. 在同一個數(shù)據(jù)庫中創(chuàng)建多個表的缺陷 7.5. 優(yōu)化MySQL服務(wù)器 7.5.1. 系統(tǒng)因素和啟動參數(shù)的調(diào)節(jié) 7.5.2. 調(diào)節(jié)服務(wù)器參數(shù) 7.5.3. 控制查詢優(yōu)化器的性能 7.5.4. 編譯和鏈接怎樣影響MySQL的速度 7.5.5. MySQL如何使用內(nèi)存 7.5.6. MySQL如何使用DNS 7.6. 磁盤事宜 7.6.1. 使用符號鏈接 8. 客戶端和實用工具程序 8.1. 客戶端腳本和實用工具概述 8.2. myisampack:生成壓縮、只讀MyISAM表 8.3. mysql:MySQL命令行工具 8.3.1. 選項 8.3.2. mysql命令 8.3.3. 怎樣從文本文件執(zhí)行SQL語句 8.3.4. mysql技巧 8.4. mysqlaccess:用于檢查訪問權(quán)限的客戶端 8.5. mysqladmin:用于管理MySQL服務(wù)器的客戶端 8.6. mysqlbinlog:用于處理二進制日志文件的實用工具 8.7. mysqlcheck:表維護和維修程序 8.8. mysqldump:數(shù)據(jù)庫備份程序 8.9. mysqlhotcopy:數(shù)據(jù)庫備份程序 8.10. mysqlimport:數(shù)據(jù)導(dǎo)入程序 8.11. mysqlshow-顯示數(shù)據(jù)庫、表和列信息 8.12. myisamlog:顯示MyISAM日志文件內(nèi)容 8.13. perror:解釋錯誤代碼 8.14. replace:字符串替換實用工具 8.15. mysql_zap:殺死符合某一模式的進程 9. 語言結(jié)構(gòu) 9.1. 文字值 9.1.1. 字符串 9.1.2. 數(shù)值 9.1.3. 十六進制值 9.1.4. 布爾值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 數(shù)據(jù)庫、表、索引、列和別名 9.2.1. 識別符限制條件 9.2.2. 識別符大小寫敏感性 9.3. 用戶變量 9.4. 系統(tǒng)變量 9.4.1. 結(jié)構(gòu)式系統(tǒng)變量 9.5. 注釋語法 9.6. MySQL中保留字的處理 10. 字符集支持 10.1. 常規(guī)字符集和校對 10.2. MySQL中的字符集和校對 10.3. 確定默認字符集和校對 10.3.1. 服務(wù)器字符集和校對 10.3.2. 數(shù)據(jù)庫字符集和校對 10.3.3. 表字符集和校對 10.3.4. 列字符集和校對 10.3.5. 字符集和校對分配示例 10.3.6. 連接字符集和校對 10.3.7. 字符串文字字符集和校對 10.3.8. 在SQL語句中使用COLLATE 10.3.9. COLLATE子句優(yōu)先 10.3.10. BINARY操作符 10.3.11. 校對確定較為復(fù)雜的一些特殊情況 10.3.12. 校對必須適合字符集 10.3.13. 校對效果的示例 10.4. 字符集支持影響到的操作 10.4.1. 結(jié)果字符串 10.4.2. CONVERT() 10.4.3. CAST() 10.4.4. SHOW語句 10.5. Unicode支持 10.6. 用于元數(shù)據(jù)的UTF8 10.7. 與其它DBMS的兼容性 10.8. 新字符集配置文件格式 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. 數(shù)值類型概述 11.1.2. 日期和時間類型概述 11.1.3. 字符串類型概述 11.2. 數(shù)值類型 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. 使用來自其他數(shù)據(jù)庫引擎的列類型 12. 函數(shù)和操作符 12.1. 操作符 12.1.1. 操作符優(yōu)先級 12.1.2. 圓括號 12.1.3. 比較函數(shù)和操作符 12.1.4. 邏輯操作符 12.2. 控制流程函數(shù) 12.3. 字符串函數(shù) 12.3.1. 字符串比較函數(shù) 12.4. 數(shù)值函數(shù) 12.4.1. 算術(shù)操作符 12.4.2. 數(shù)學(xué)函數(shù) 12.5. 日期和時間函數(shù) 12.6. MySQL使用什么日歷? 12.7. 全文搜索功能 12.7.1. 布爾全文搜索 12.7.2. 全文搜索帶查詢擴展 12.7.3. 全文停止字 12.7.4. 全文限定條件 12.7.5. 微調(diào)MySQL全文搜索 12.8. Cast函數(shù)和操作符 12.9. 其他函數(shù) 12.9.1. 位函數(shù) 12.9.2. 加密函數(shù) 12.9.3. 信息函數(shù) 12.9.4. 其他函數(shù) NoName 12.10.1. GROUP BY(聚合)函數(shù) 12.10.2. GROUP BY修改程序 12.10.3. 具有隱含字段的GROUP BY 13. SQL語句語法 13.1. 數(shù)據(jù)定義語句 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. 數(shù)據(jù)操作語句 13.2.1. DELETE語法 13.2.2. DO語法 13.2.3. HANDLER語法 13.2.4. INSERT語法 13.2.5. LOAD DATA INFILE語法 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語法(獲取有關(guān)列的信息) 13.3.2. USE語法 13.4. MySQL事務(wù)處理和鎖定語句 13.4.1. START TRANSACTION 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事務(wù) 13.5. 數(shù)據(jù)庫管理語句 13.5.1. 賬戶管理語句 13.5.2. 表維護語句 13.5.3. SET語法 13.5.4. SHOW語法 13.5.5. 其它管理語句 13.6. 復(fù)制語句 13.6.1. 用于控制主服務(wù)器的SQL語句 13.6.2. 用于控制從服務(wù)器的SQL語句 13.7. 用于預(yù)處理語句的SQL語法 14. 插件式存儲引擎體系結(jié)構(gòu) 14.1. 前言 14.2. 概述 14.3. 公共MySQL數(shù)據(jù)庫服務(wù)器層 14.4. 選擇存儲引擎 14.5. 將存儲引擎指定給表 14.6. 存儲引擎和事務(wù) 14.7. 插入存儲引擎 14.8. 拔出存儲引擎 14.9. 插件式存儲器的安全含義 15. 存儲引擎和表類型 15.1. MyISAM存儲引擎 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聯(lián)系信息 15.2.3. InnoDB配置 15.2.4. InnoDB啟動選項 15.2.5. 創(chuàng)建InnoDB表空間 15.2.6. 創(chuàng)建InnoDB表 15.2.7. 添加和刪除InnoDB數(shù)據(jù)和日志文件 15.2.8. InnoDB數(shù)據(jù)庫的備份和恢復(fù) 15.2.9. 將InnoDB數(shù)據(jù)庫移到另一臺機器上 15.2.10. InnoDB事務(wù)模型和鎖定 15.2.11. InnoDB性能調(diào)節(jié)提示 15.2.12. 多版本的實施 15.2.13. 表和索引結(jié)構(gòu) 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支持的操作系統(tǒng) 15.5.2. 安裝BDB 15.5.3. BDB啟動選項 15.5.4. BDB表的特性 15.5.5. 修改BDB所需的事宜 15.5.6. 對BDB表的限制 15.5.7. 使用BDB表時可能出現(xiàn)的錯誤 15.6. EXAMPLE存儲引擎 15.7. FEDERATED存儲引擎 15.7.1. 安裝FEDERATED存儲引擎 15.7.2. FEDERATED存儲引擎介紹 15.7.3. 如何使用FEDERATED表 15.7.4. FEDERATED存儲引擎的局限性 15.8. ARCHIVE存儲引擎 15.9. CSV存儲引擎 15.10. BLACKHOLE存儲引擎 16. 編寫自定義存儲引擎 16.1. 前言 16.2. 概述 16.3. 創(chuàng)建存儲引擎源文件 NoName 16.5. 對處理程序進行實例化處理 16.6. 定義表擴展 16.7. 創(chuàng)建表 16.8. 打開表 16.9. 實施基本的表掃描功能 16.9.1. 實施store_lock()函數(shù) 16.9.2. 實施external_lock()函數(shù) 16.9.3. 實施rnd_init()函數(shù) 16.9.4. 實施info()函數(shù) 16.9.5. 實施extra()函數(shù) 16.9.6. 實施rnd_next()函數(shù) 16.10. 關(guān)閉表 NoName NoName NoName 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 16.14.14. write_row 17. MySQL簇 17.1. MySQL簇概述 17.2. MySQL簇的基本概念 17.3. 多計算機的簡單基礎(chǔ)知識 17.3.1. 硬件、軟件和聯(lián)網(wǎng) 17.3.2. 安裝 17.3.3. 配置 17.3.4. 首次啟動 17.3.5. 加載示例數(shù)據(jù)并執(zhí)行查詢 17.3.6. 安全關(guān)閉和重啟 17.4. MySQL簇的配置 17.4.1. 從源碼創(chuàng)建MySQL簇 17.4.2. 安裝軟件 17.4.3. MySQL簇的快速測試設(shè)置 17.4.4. 配置文件 17.5. MySQL簇中的進程管理 17.5.1. 用于MySQL簇的MySQL服務(wù)器進程使用 17.5.2. ndbd,存儲引擎節(jié)點進程 17.5.3. ndb_mgmd,“管理服務(wù)器”進程 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簇的聯(lián)機備份 17.7. 使用與MySQL簇的高速互連 17.7.1. 配置MySQL簇以使用SCI套接字 17.7.2. 理解簇互連的影響 17.8. MySQL簇的已知限制 17.9. MySQL簇發(fā)展的重要歷程 17.9.1. MySQL 5.0中的MySQL簇變化 17.9.2. 關(guān)于MySQL簇的MySQL 5.1發(fā)展歷程 17.10. MySQL簇常見問題解答 17.11. MySQL簇術(shù)語表 18. 分區(qū) 18.1. MySQL中的分區(qū)概述 18.2. 分區(qū)類型 18.2.1. RANGE分區(qū) 18.2.2. LIST分區(qū) 18.2.3. HASH分區(qū) 18.2.4. KEY分區(qū) 18.2.5. 子分區(qū) 18.2.6. MySQL分區(qū)處理NULL值的方式 18.3. 分區(qū)管理 18.3.1. RANGE和LIST分區(qū)的管理 18.3.2. HASH和KEY分區(qū)的管理 18.3.3. 分區(qū)維護 18.3.4. 獲取關(guān)于分區(qū)的信息 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. 支持的空間數(shù)據(jù)格式 19.3.1. 著名的文本(WKT)格式 19.3.2. 著名的二進制(WKB)格式 19.4. 創(chuàng)建具備空間功能的MySQL數(shù)據(jù)庫 19.4.1. MySQL空間數(shù)據(jù)類型 19.4.2. 創(chuàng)建空間值 19.4.3. 創(chuàng)建空間列 19.4.4. 填充空間列 19.4.5. 獲取空間數(shù)據(jù) 19.5. 分析空間信息 19.5.1. Geometry格式轉(zhuǎn)換函數(shù) 19.5.2. Geometry函數(shù) 19.5.3. 從已有Geometry創(chuàng)建新Geometry的函數(shù) 19.5.4. 測試幾何對象間空間關(guān)系的函數(shù) 19.5.5. 關(guān)于幾何最小邊界矩形(MBR)的關(guān)系 19.5.6. 測試幾何類之間空間關(guān)系的函數(shù) 19.6. 優(yōu)化空間分析 19.6.1. 創(chuàng)建空間索引 19.6.2. 使用空間索引 19.7. MySQL的一致性和兼容性 19.7.1. 尚未實施的GIS特性 20. 存儲程序和函數(shù) 20.1. 存儲程序和授權(quán)表 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復(fù)合語句 20.2.8. DECLARE語句 20.2.9. 存儲程序中的變量 20.2.10. 條件和處理程序 20.2.11. 光標 20.2.12. 流程控制構(gòu)造 20.3. 存儲程序、函數(shù)、觸發(fā)程序和復(fù)制:常見問題 20.4. 存儲子程序和觸發(fā)程序的二進制日志功能 21. 觸發(fā)程序 21.1. CREATE TRIGGER語法 21.2. DROP TRIGGER語法 21.3. 使用觸發(fā)程序 22. 視圖 22.1. ALTER VIEW語法 22.2. CREATE VIEW語法 22.3. DROP VIEW語法 22.4. SHOW CREATE VIEW語法 23. INFORMATION_SCHEMA信息數(shù)據(jù)庫 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表 NoName 24. 精度數(shù)學(xué) 24.1. 數(shù)值的類型 24.2. DECIMAL數(shù)據(jù)類型更改 24.3. 表達式處理 24.4. 四舍五入 24.5. 精度數(shù)學(xué)示例 25. API和庫 25.1. libmysqld,嵌入式MySQL服務(wù)器庫 25.1.1. 嵌入式MySQL服務(wù)器庫概述 25.1.2. 使用libmysqld編譯程序 25.1.3. 使用嵌入式MySQL服務(wù)器時的限制 25.1.4. 與嵌入式服務(wù)器一起使用的選項 25.1.5. 嵌入式服務(wù)器中尚需完成的事項(TODO) 25.1.6. 嵌入式服務(wù)器示例 25.1.7. 嵌入式服務(wù)器的許可 25.2. MySQL C API 25.2.1. C API數(shù)據(jù)類型 25.2.2. C API函數(shù)概述 25.2.3. C API函數(shù)描述 25.2.4. C API預(yù)處理語句 25.2.5. C API預(yù)處理語句的數(shù)據(jù)類型 25.2.6. C API預(yù)處理語句函數(shù)概述 25.2.7. C API預(yù)處理語句函數(shù)描述 25.2.8. C API預(yù)處理語句方面的問題 25.2.9. 多查詢執(zhí)行的C API處理 25.2.10. 日期和時間值的C API處理 25.2.11. C API線程函數(shù)介紹 25.2.12. C API嵌入式服務(wù)器函數(shù)介紹 25.2.13. 使用C API時的常見問題 25.2.14. 創(chuàng)建客戶端程序 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程序開發(fā)實用工具 25.9.1. msql2mysql:轉(zhuǎn)換mSQL程序以用于MySQL 25.9.2. mysql_config:獲取編譯客戶端的編譯選項 26. 連接器 26.1. MySQL Connector/ODBC 26.1.1. MyODBC介紹 26.1.2. 關(guān)于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開發(fā)源碼樹安裝MyODBC 26.1.9. MyODBC配置 26.1.10. 與MyODBC連接相關(guān)的事宜 26.1.11. MyODBC和Microsoft Access 26.1.12. MyODBC和Microsoft VBA及ASP 26.1.13. MyODBC和第三方ODBC工具 26.1.14. MyODBC通用功能 26.1.15. 基本的MyODBC應(yīng)用步驟 26.1.16. MyODBC API引用 26.1.17. MyODBC數(shù)據(jù)類型 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體系結(jié)構(gòu) 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驅(qū)動程序的一部分運行 26.4.6. 在Java對象中運行 26.4.7. MysqldResource API 26.4.8. 在JMX代理(custom)中運行 26.4.9. 部署在標準的JMX代理環(huán)境下 (JBoss) 26.4.10. 安裝 27. 擴展MySQL 27.1. MySQL內(nèi)部控件 27.1.1. MySQL線程 27.1.2. MySQL測試套件 27.2. 為MySQL添加新函數(shù) 27.2.1. 自定義函數(shù)接口的特性 27.2.2. CREATE FUNCTION/DROP FUNCTION語法 27.2.3. 添加新的自定義函數(shù) 27.2.4. 添加新的固有函數(shù) 27.3. 為MySQL添加新步驟 27.3.1. 步驟分析 27.3.2. 編寫步驟 A. 問題和常見錯誤 A.1. 如何確定導(dǎo)致問題的原因 A.2. 使用MySQL程序時的常見錯誤 A.2.1. 拒絕訪問 A.2.2. 無法連接到[local] MySQL服務(wù)器 A.2.3. 客戶端不支持鑒定協(xié)議 A.2.4. 輸入密碼時出現(xiàn)密碼錯誤 NoName A.2.6. 連接數(shù)過多 A.2.7. 內(nèi)存溢出 A.2.8. MySQL服務(wù)器不可用 A.2.9. 信息包過大 A.2.10. 通信錯誤和失效連接 A.2.11. 表已滿 A.2.12. 無法創(chuàng)建文件/寫入文件 A.2.13. 命令不同步 A.2.14. 忽略用戶 A.2.15. 表tbl_name不存在 A.2.16. 無法初始化字符集 A.2.17. 文件未找到 A.3. 與安裝有關(guān)的事宜 A.3.1. 與MySQL客戶端庫的鏈接問題 A.3.2. 如何以普通用戶身份運行MySQL A.3.3. 與文件許可有關(guān)的問題 A.4. 與管理有關(guān)的事宜 A.4.1. 如何復(fù)位根用戶密碼 A.4.2. 如果MySQL依然崩潰,應(yīng)作些什么 A.4.3. MySQL處理磁盤滿的方式 A.4.4. MySQL將臨時文件儲存在哪里 A.4.5. 如何保護或更改MySQL套接字文件/tmp/mysql.sock A.4.6. 時區(qū)問題 A.5. 與查詢有關(guān)的事宜 A.5.1. 搜索中的大小寫敏感性 A.5.2. 使用DATE列方面的問題 A.5.3. 與NULL值有關(guān)的問題 A.5.4. 與列別名有關(guān)的問題 A.5.5. 非事務(wù)表回滾失敗 A.5.6. 從相關(guān)表刪除行 A.5.7. 解決與不匹配行有關(guān)的問題 A.5.8. 與浮點比較有關(guān)的問題 A.6. 與優(yōu)化器有關(guān)的事宜 A.7. 與表定義有關(guān)的事宜 A.7.1. 與ALTER TABLE有關(guān)的問題 A.7.2. 如何更改表中的列順序 A.7.3. TEMPORARY TABLE問題 A.8. MySQL中的已知事宜 A.8.1. MySQL中的打開事宜 B. 錯誤代碼和消息 B.1. 服務(wù)器錯誤代碼和消息 B.2. 客戶端錯誤代碼和消息 C. 感謝 C.1. MySQL AB處的開發(fā)人 C.2. MySQL貢獻人 C.3. 資料員和譯員 C.4. MySQL使用和包含的庫 C.5. 支持MySQL的軟件包 C.6. 用于創(chuàng)建MySQL的工具 C.7. MySQL支持人員 D. MySQL變更史 D.1. 5.1.x版中的變更情況(開發(fā)) D.1.1. 5.1.2版中的變更情況(尚未發(fā)布) D.1.2. 5.1.1版中的變更情況(尚未發(fā)布) D.2. MyODBC的變更情況 D.2.1. MyODBC 3.51.12的變更情況 D.2.2. MyODBC 3.51.11的變更情況 E. 移植到其他系統(tǒng) E.1. 調(diào)試MySQL服務(wù)器 E.1.1. 針對調(diào)試編譯MySQL E.1.2. 創(chuàng)建跟蹤文件 E.1.3. 在gdb環(huán)境下調(diào)試mysqld E.1.4. 使用堆棧跟蹤 E.1.5. 使用日志文件找出mysqld中的錯誤原因 E.1.6. 如果出現(xiàn)表崩潰,請生成測試案例 E.2. 調(diào)試MySQL客戶端 E.3. DBUG軟件包 E.4. 關(guān)于RTS線程的注釋 E.5. 線程軟件包之間的差異 F. 環(huán)境變量 G. MySQL正則表達式 H. MySQL中的限制 H.1. 聯(lián)合的限制 I. 特性限制 I.1. 對存儲子程序和觸發(fā)程序的限制 I.2. 對服務(wù)器端光標的限制 I.3. 對子查詢的限制 I.4. 對視圖的限制 I.5. 對XA事務(wù)的限制 J. GNU通用公共許可 K. MySQL FLOSS許可例外 索引
characters

附錄J:GNU通用公共許可

1991.6 第二版

版權(quán)所有?,19891991,Free Software Foundation有限公司

59 Temple Place,Suite 330,Boston,MA 02111-1307,USA
允許每個人復(fù)制和發(fā)布這一許可證原始文檔的副本,但絕對不允許對它進行任何修改。

前言

大多數(shù)軟件許可證決意剝奪你的共享和修改軟件的自由。對比之下,GNU通用公共許可證力圖保證你的共享和修改自由軟件的自由。保證自由軟件對所有用戶是自由的。該GPL適用于大多數(shù)自由軟件基金會的軟件,以及由使用這些軟件而承擔(dān)義務(wù)的作者所開發(fā)的軟件。(自由軟件基金會的其他一些軟件受GNU庫通用許可證的保護)。你也可以將它用到你的程序中。

當(dāng)我們談到自由軟件(free software)時,我們指的是自由而不是價格。我們的GNU通用公共許可證決意保證你有發(fā)布自由軟件的自由(如果你愿意,你可以對此項服務(wù)收取一定的費用);保證你能收到源碼或者在你需要時能得到它;保證你能修改軟件或?qū)⑺囊徊糠钟糜谛碌淖杂绍浖?;而且還保證你知道你能做這些事情。

為了保護你的權(quán)利,我們需要做出規(guī)定:禁止任何人不承認你的權(quán)利,或者要求你放棄這些權(quán)利。如果你修改了自由軟件或者發(fā)布了軟件的副本,這些規(guī)定就轉(zhuǎn)化為你的責(zé)任。

例如,如果你發(fā)布這樣一個程序的副本,不管是收費的還是免費的,你必須將你具有的一切權(quán)利給予你的接受者;你必須保證他們能收到或得到源碼;并且將這些條款給他們看,使他們知道他們有這樣的權(quán)利。

我們采取兩項措施來保護你的權(quán)利:(1)給軟件以版權(quán)保護。(2)給你提供許可證。它給你復(fù)制,發(fā)布和修改這些軟件的法律許可。

同樣,為了保護每個作者和我們自己,我們需要清楚地讓每個人明白,自由軟件沒有擔(dān)保(no warranty)。如果由于其他某個人修改了軟件,并繼續(xù)加以傳播。我們需要它的接受者明白:他們所得到的并不是原來的自由軟件。由其他人引入的任何問題,不應(yīng)損害原作者的聲譽。

最后,任何自由軟件不斷受到軟件專利的威脅。我們希望避免這樣的風(fēng)險,自由軟件的再發(fā)布者以個人名義獲得專利許可證。事實上,將軟件變?yōu)樗接?。為防止這一點,我們必須明確:任何專利必須以允許每個人自由使用為前提,否則就不準許有專利。

下面是有關(guān)復(fù)制,發(fā)布和修改的確切的條款和條件。

GNU通用公共許可證有關(guān)復(fù)制,發(fā)布和修改的條款和條件

1.??? 此許可證適用于任何包含版權(quán)所有者聲明的程序和其他作品,版權(quán)所有者在聲明中明確說明程序和作品可以在GPL條款的約束下發(fā)布。下面提到的“程序”指的是任何這樣的程序或作品。而“基于程序的作品”指的是程序或者任何受版權(quán)法約束的衍生作品。也就是說包含程序或程序的一部分的作品??梢允窃獠粍拥模蚪?jīng)過修改的和/或翻譯成其他語言的(在下文中,翻譯包含在條款“修改”中,無任何限制)。每個許可證接受人(licensee)用你來稱呼。

許可證條款不適用于復(fù)制,發(fā)布和修改以外的活動。這些活動超出這些條款的范圍。運行程序的活動不受條款的限止。僅當(dāng)程序的輸出構(gòu)成基于程序作品的內(nèi)容時,這一條款才適用(如果只運行程序就無關(guān))。是否普遍適用取決于程序具體用來做什么。

2.??? 只要你在每一副本上明顯和恰當(dāng)?shù)爻霭姘鏅?quán)聲明和拒絕擔(dān)保聲明,保持此許可證的聲明和沒有擔(dān)保的聲明完整無損,并和程序一起給每個其他的程序接受者一份許可證的副本,你就可以用任何媒體復(fù)制和發(fā)布你收到的原始的程序的源代碼。

你可以為轉(zhuǎn)讓副本的實際行動收取一定費用。你也有權(quán)選擇提供擔(dān)保以換取一定的費用。

3.??? 你可以修改程序的一個或幾個副本或程序的任何部分,以此形成基于程序的作品。只要你同時滿足下面的所有條件,你就可以按前面第一款的要求復(fù)制和發(fā)布這一經(jīng)過修改的程序或作品:

a.??? 你必須在修改的文件中附有明確的說明:你修改了這一文件及具體的修改日期。

b.??? 你必須使你發(fā)布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允許第三方作為整體按許可證條款免費使用

c.??? 如果修改的程序在運行時以交互方式讀取命令,你必須使它在開始進入常規(guī)的交互使用方式時打印或顯示聲明:包括適當(dāng)?shù)陌鏅?quán)聲明和沒有擔(dān)保的聲明(或者你提供擔(dān)保的聲明);用戶可以按此許可證條款重新發(fā)布程序的說明;并告訴用戶如何看到這一許可證的副本。(例外的情況:如果原始程序以交互方式工作,它并不打印這樣的聲明,你的基于程序的作品也就不用打印聲明)。

這些要求適用于修改了的作品的整體。如果能夠確定作品的一部分并非程序的衍生產(chǎn)品,可以合理地認為這部分是獨立的,是不同的作品。當(dāng)你將它作為獨立作品發(fā)布時,它不受此許可證和它的條款的約束。但是當(dāng)你將這部分作為基于程序的作品的一部分發(fā)布時,作為整體它將受到許可證條款約束。準予其他許可證持有人的使用范圍擴大到整個產(chǎn)品。也就是每個部分,不管它是誰寫的。

因此,本條款的意圖不在于索取權(quán)利;或剝奪全部由你寫成的作品的權(quán)利。而是履行權(quán)利來控制基于程序的集體作品或衍生作品的發(fā)布。

此外,將與程序無關(guān)的作品和該程序或基于程序的作品一起放在存貯體或發(fā)布媒體的同一卷上,并不導(dǎo)致將其他作品置于此許可證的約束范圍之內(nèi)。

4.??? 你可以以目標碼或可執(zhí)行形式復(fù)制或發(fā)布程序(或符合第2款的基于程序的作品),只要你遵守前面的第1,2款,并同時滿足下列3條中的1條:

a.??? 在通常用作軟件交換的媒體上,和目標碼一起附有機器可讀的完整的源碼。這些源碼的發(fā)布應(yīng)符合上面第1,2款的要求?;蛘?/p>

b.??? 在通常用作軟件交換的媒體上,和目標碼一起,附有給第三方提供相應(yīng)的機器可讀的源碼的書面報價。有效期不少于3年,費用不超過實際完成源程序發(fā)布的實際成本。源碼的發(fā)布應(yīng)符合上面的第1,2款的要求?;蛘?/p>

c.??? 和目標碼一起,附有你收到的發(fā)布源碼的報價信息。(這一條款只適用于非商業(yè)性發(fā)布,而且你只收到程序的目標碼或可執(zhí)行代碼和按b)款要求提供的報價)。

作品的源碼指的是對作品進行修改最優(yōu)先擇取的形式。對可執(zhí)行的作品講,完整的源碼包括:所有模塊的所有源代碼,加上有關(guān)的接口的定義,加上控制可執(zhí)行作品的安裝和編譯的腳本。作為特殊例外,發(fā)布版(以源碼形式或二進制形式)不必包含任何常規(guī)發(fā)布的供可執(zhí)行代碼在上面運行的操作系統(tǒng)的主要組成部分(如編譯程序,內(nèi)核等)。除非這些組成部分和可執(zhí)行作品結(jié)合在一起。

如果采用提供對指定地點的訪問和復(fù)制的方式發(fā)布可執(zhí)行碼或目標碼,那么,提供對同一地點的訪問和復(fù)制源碼可以算作源碼的發(fā)布,即使第三方不強求與目標碼一起復(fù)制源碼。

5.??? 除非你明確按許可證提出的要求去做,否則你不能復(fù)制,修改,轉(zhuǎn)發(fā)許可證和發(fā)布程序。任何試圖用其他方式復(fù)制,修改,轉(zhuǎn)發(fā)許可證和發(fā)布程序是無效的。而且將自動結(jié)束許可證賦予你的權(quán)利。然而,對那些從你那里按許可證條款得到副本和權(quán)利的人們,只要他們繼續(xù)全面履行條款,許可證賦予他們的權(quán)利仍然有效。

6.??? 你沒有在許可證上簽字,因而你沒有必要一定接受這一許可證。然而,沒有任何其他東西賦予你修改和發(fā)布程序及其衍生作品的權(quán)利。如果你不接受許可證,這些行為是法律禁止的。因此,如果你修改或發(fā)布程序(或任何基于程序的作品),你就表明你接受這一許可證以及它的所有有關(guān)復(fù)制,發(fā)布和修改程序或基于程序的作品的條款和條件。

7.??? 每當(dāng)你重新發(fā)布程序(或任何基于程序的作品)時,接受者自動從原始許可證頒發(fā)者那里接到受這些條款和條件支配的復(fù)制,發(fā)布或修改程序的許可證。你不可以對接受者履行這里賦予他們的權(quán)利強加其他限制。你也沒有強求第三方履行許可證條款的義務(wù)。

8.??? 如果由于法院判決或違反專利的指控或任何其他原因(不限于專利問題)的結(jié)果,強加于你的條件(不管是法院判決,協(xié)議或其他)和許可證的條件有沖突,他們也不能用許可證條款為你開脫。在你不能同時滿足本許可證規(guī)定的義務(wù)及其他相關(guān)的義務(wù)時,作為結(jié)果,你可以根本不發(fā)布程序。例如,如果某一專利許可證不允許所有那些直接或間接從你那里接受副本的人們在不付專利費的情況下重新發(fā)布程序,唯一能同時滿足兩方面要求的辦法是停止發(fā)布程序。

如果本節(jié)的任何部分在特定的環(huán)境下無效或無法實施,就使用條款的其余部分,并將條款作為整體用于其他環(huán)境。

本節(jié)的目的不在于引誘你侵犯專利或其他財產(chǎn)權(quán)的要求,或爭論這種要求的有效性。本條款的唯一目的在于保護自由軟件發(fā)布系統(tǒng)的完整性,它是通過通用公共許可證的應(yīng)用來實現(xiàn)的。許多人堅持應(yīng)用這一系統(tǒng),已經(jīng)為通過這一系統(tǒng)發(fā)布大量自由軟件做出慷慨的供獻。作者/捐獻者有權(quán)決定他或她是否通過任何其他系統(tǒng)發(fā)布軟件。許可證持有人不能強制這種選擇。

本節(jié)的目的在于明確說明許可證其余部分可能產(chǎn)生的結(jié)果。

9.??? 如果由于專利或者由于有版權(quán)的接口問題使程序在某些國家的發(fā)布和使用受到限止,將此程序置于許可證約束下的原始版權(quán)擁有者可以增加限止發(fā)布地區(qū)的條款,將這些國家明確排除在外。并在這些國家以外的地區(qū)發(fā)布程序。在這種情況下,許可證包含的限止條款和許可證正文一樣有效。

10.自由軟件基金會可能隨時出版通用公共許可證的修改版和/或新版。新版和當(dāng)前的版本在原則上保持一致,但在提到新問題時或有關(guān)事項時,在細節(jié)上可能出現(xiàn)差別。

每一版本都有不同的版本號。如果程序指定適用于它的許可證版本號以及“任何更新的版本”。你有權(quán)選擇遵循指定的版本或自由軟件基金會以后出版的新版本,如果程序未指定許可證版本,你可選擇自由軟件基金會已經(jīng)出版的任何版本。

11.如果你愿意將程序的一部分結(jié)合到其他自由程序中,而它們的發(fā)布條件不同。寫信給作者,要求準予使用。如果是自由軟件基金會加以版權(quán)保護的軟件,寫信給自由軟件基金會。我們有時會作為例外的情況處理。我們的決定受兩個主要目標的指導(dǎo)。這兩個主要目標是:我們的自由軟件的衍生作品繼續(xù)保持自由狀態(tài)。以及從整體上促進軟件的共享和重復(fù)利用。

無擔(dān)保

12.由于程序準予免費使用,在適用法準許的范圍內(nèi),對程序沒有擔(dān)保。除非另有書面說明,版權(quán)所有者和/或其他提供程序的人們“一樣”不提供任何類型的擔(dān)保。不論是明確的,還是隱含的。包括但不限于隱含的適銷和適合特定用途的保證。全部的風(fēng)險,如程序的質(zhì)量和性能問題都由你來承擔(dān)。如果程序出現(xiàn)缺陷,你承擔(dān)所有必要的服務(wù),修復(fù)和改正的費用。

13.除非適用法或書面協(xié)議的要求,在任何情況下,任何版權(quán)所有者或任何按許可證條款修改和發(fā)布程序的人們都不對你的損失負有任何責(zé)任。包括由于使用或不能使用程序引起的任何一般的,特殊的,偶然發(fā)生的或重大的損失(包括但不限于數(shù)據(jù)的損失,或者數(shù)據(jù)變得不精確,或者你或第三方的持續(xù)的損失,或者程序不能和其他程序協(xié)調(diào)運行等)。即使版權(quán)所有者和其他人提到這種損失的可能性也不例外。

條款和條件結(jié)束

如何將這些條款用到你的新程序

如果你開發(fā)了新程序,而且你需要它得到公眾最大限度的利用。要做到這一點的最好辦法是將它變?yōu)樽杂绍浖?。使得每個人都能在遵守條款的基礎(chǔ)上對它進行修改和重新發(fā)布。

為了做到這一點,給程序附上下列聲明。最安全的方式是將它放在每個源碼文件的開頭,以便最有效地傳遞拒絕擔(dān)保的信息。每個文件至少應(yīng)有“版權(quán)所有”行以及在什么地方能看到聲明全文的指示。

用一行空間給出程序的名稱和它用來做什么的簡單說明。
版權(quán)所有(C,yyyy,作者姓名
?
這一程序是自由軟件,你可以遵照自由軟件基金會出版的GNU通用公共許可證條款來修改和重新發(fā)布這一程序?;蛘哂迷S可證的第二版,或者(根據(jù)你的選擇)用任何更新的版本。
?
發(fā)布這一程序的目的是希望它有用,但沒有任何擔(dān)保。甚至沒有適合特定目的的隱含的擔(dān)保。更詳細的情況請參閱GNU通用公共許可證。
?
你應(yīng)該已經(jīng)和程序一起收到一份GNU通用公共許可證的副本。如果還沒有,



寫信給:Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA? 02111-1307, USA。
此外,還應(yīng)加上以電子郵件和紙張郵件方式與你保持聯(lián)系的信息。

如果程序以交互方式進行工作,當(dāng)它開始進入交互方式工作時,使它輸出類似下面的簡短聲明:
Gnomovision
69版, 版權(quán)所有(C 19XX, 作者姓名,

Gnomovision絕對沒有擔(dān)保。要想了解詳細情況,請輸入‘show w’。

這是自由軟件,歡迎你遵守一定的條件重新發(fā)布它,要想了解詳細情況,請輸入‘show c’。

假設(shè)的命令‘show w’和‘show c’應(yīng)顯示通用公共許可證的恰當(dāng)部分。當(dāng)然,你使用的命令名稱可以不同于‘show w’和‘show c’。根據(jù)你的程序的具體情況,也可以用菜單或鼠標選項來顯示這些條款。

如果需要,你應(yīng)該取得你的雇主(如果你是程序員)或你的學(xué)校簽署放棄程序版權(quán)的聲明。下面只是一個例子,你應(yīng)該改變相應(yīng)的名稱:

Yoyodyne有限公司以此方式放棄James Harker所寫的Gnomovision程序(在編譯器上通過)的全部版權(quán)利益。

Ty coon簽名,1989.4.1

Ty coon付總裁

該通用公共許可證不允許你將程序并入專用程序。如果你的程序是一個子程序庫,你可能會認為用庫的方式和專用應(yīng)用程序鏈接更有用。如果這是你想做的事,使用GNU庫通用公共許可證代替本許可證。


這是MySQL參考手冊的翻譯版本,關(guān)于MySQL參考手冊,請訪問dev.mysql.com。 原始參考手冊為英文版,與英文版參考手冊相比,本翻譯版可能不是最新的。

Previous article: Next article: