楼主: oraclelang

MySQL中文參考手冊

[复制链接]
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
101#
 楼主| 发表于 2006-4-29 10:14 | 只看该作者
4.6.3.2 HP-UX 注意事項
針對HP-UX的MySQL二進制分發作為一個HP depot(倉庫)或tar 文件格式分發的。為了使用depot文件,你必須咝兄辽貶P-UX 10.x 以便訪問HP的軟件倉庫工具。

MySQL的HP版本在咝蠬P-UX 10.20下的HP 9000/8xx 服務器上編譯,並且使用MIT-pthreads。它已知可在這種配置下很好地工作。MySQL 3.22.26和更新版也用HP原生線程包構造。

其他可以咝械呐渲茫

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
102#
 楼主| 发表于 2006-4-29 10:14 | 只看该作者
shell> rpm -- rebuild MySQL-VERSION.src.rpm
這樣你制作一個可以安裝的二進制RPM。

如果你安裝了DBI和Msql-Mysql-modulesPerl模塊,你可以利用bin/mysql_setpermission腳本增加新用戶。

以下是更詳細的描述:

為了安裝源代碼分發,按照下列步驟,然後繼續到4.15 安裝後期的設置與測試,進行安裝後期的初始化與測試。

挑選一個你要在其下面解包分發的目錄,並且進入該目錄。
從節4.1 怎樣獲得MySQL中列出的站點之一獲得一個分發文件。MySQL源代碼分發以壓縮的tar檔案提供,並且有類似于“mysql-VERSION.tar.gz”的名字,這里的VERSION是一個類似3.23.7-alpha的數字。
在當前目錄下解包分發:
shell> gunzip < mysql-VERSION.tar.gz | tar  xvf -
這個命令創建名為“mysql-VERSION”的一個目錄。

進入解包分發的頂級目錄:
shell> cd  mysql-VERSION
設置發行版本並且編譯:
shell>./configure--prefix=/usr/local/mysql
shell>make

當你咝衏onfigure時,你可能想要指定一些選項,咝

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
103#
 楼主| 发表于 2006-4-29 10:14 | 只看该作者
你可以用下列命令啟動MySQL服務器,這里BINDIR是safe_mysqld被安裝的目錄(缺省為“/usr/local/bin”):

shell> BINDIR/safe_mysqld &

如果這個命令提示mysqld daemon ended並馬上失敗,那麼你能在文件“mysql-data-directory/'hostname'.err”找到一些信息。可能的原因是你已經有另外一個正在咝械膍ysqld服務器。見19.3 在同一台機器上咝卸鄠

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
104#
 楼主| 发表于 2006-4-29 10:15 | 只看该作者
shell> BINDIR/safe_mysqld &

如果這個命令提示mysqld daemon ended並馬上失敗,那麼你能在文件“mysql-data-directory/'hostname'.err”找到一些信息。可能的原因是你已經有另外一個正在咝械膍ysqld服務器。見19.3 在同一台機器上咝卸鄠

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
105#
 楼主| 发表于 2006-4-29 10:15 | 只看该作者
在咝衜ake install前,你可能需要關閉所有正在咝械姆?掌鳎ㄊ褂胢ysqladmin shutdown)。如果一個程序的新版本替代當前正在執行的版本,一些系統不允許你安裝它。

4.7.3 典型的configure選項
configure腳本給你一個很大的控制權來如何配置你的MySQL分發。典型地,你使用configure命令行的選項進行。你也可以用正確的環境變量作用于configure。對于一個由configure支持的選擇列表,咝羞@個命令:

shell> ./configure -- help
一些更常用的configure選項見下面的描述:

只編譯MySQL客戶庫和客戶程序而不是服務器,使用--without-server選項:
shell> ./configure --without-server

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
106#
 楼主| 发表于 2006-4-29 10:15 | 只看该作者
如果你沒有一個 C++ 編譯器,mysql將不編譯(有一個客戶程序需要C++)。在這種情況下,你可以去掉configure里面測試C++編譯器的代碼,然後咝袔в

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
107#
 楼主| 发表于 2006-4-29 10:16 | 只看该作者
如果你想編譯靜態鏈接程序(例如,制作二進制分發、獲得更快的速度或與解決與RedHat分發的一些),像這樣咝衏onfigure:
shell>./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static

如果你正在使用gcc並且沒有安裝libg++或libstdc++,你可以告訴configure使用gcc作為C++編譯器:
shell> CC=gcc  CXX=gcc  ./configure
當你使用時gcc作為C++編譯器是,它將不試圖鏈接libg++或libstdc++。如果構造失敗並且產生有關編譯器或鏈接器的錯誤,不能創建共享庫“libmysqlclient.so.#”(“#”是一個版本號), 你可以通過為configure指定--disable-shared選項來解決此問題。在這種情況下,configure將不構造一個共享libmysqlclient.so.#庫。

你可以設置MySQL對于非NULL的列不使用DEFAULT列值(即,不允許列是NULL)。這導致INSERT語句產生一個錯誤,除非你明確地為所有要求非NULL值的列指定值。為了禁止使用缺省值,這樣咝衏onfigure:
shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS  ./configure
缺省地,MySQL使用ISO-8859-1(Latin1)字符集。為了改變缺省設置,使用--with-charset選項目:

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
108#
 楼主| 发表于 2006-4-29 10:16 | 只看该作者
shell> ./configure -- with-charset=CHARSET
CHARSET可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312 gbk、german1、hebrew、 hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7、win1251或win1251ukr之一。見9.1.1 用于數據和排序的字符集。注意:如果你想要改變字符集,你必須在配置期間做make distclean!如果你想在服務器和客戶之間變換字符,你應該看一下SET OPTION CHARACTER SET命令。見7.25 SET OPTION句法。警告:如果你在創建了任何數據庫表之後改變字符集,你將必須對每個表咝衜yisamchk -r -q,否則你的索引可能不正確地排序。(如果你安裝了MySQL,創建一些表,然後重新配置MySQL使用一個不同的字符集並且重新安裝它,這時就可能發生這種情況。)

為了配置MySQL帶有調試代碼,使用--with-debug選項:
shell> ./configure --with-debug
這導致包含一個安全的內存分配器,能發現一些錯誤和並提供關于正在發生的事情的輸出。見G.1調試一個MySQL服務器。

屬于特定系統的選項可在本章特定系統的小節里找到。見4.11 系統特定的問題。

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
109#
 楼主| 发表于 2006-4-29 10:17 | 只看该作者
4.8 編譯問題?
所有MySQL程序在Solaris上使用gcc編譯並且沒有任何警告。在其他系統上,由于系統包含文件的差別可能會發生警告。對于使用MIT-pthreads時發生的警告,見4.9 MIT-pthreads 注意事項。其他問題,檢查下面的表。

許多問題的解決方案涉及重新配置。如果你確實需要重新配置,注意下列事項:

如果configure在它已經被咝辛艘葬徇行,它可以使用先前收集的信息。這個信息被存儲在“config.cache”里面。當configure啟動時,它尋找該文件而且如果它存在,假定信息仍然是正確的,讀入它的內容。當你重新配置時,該假設是無效的。
每次你咝衏onfigure時候,你必須咝衜ake再重新編譯。然而, 你可能想要把先前構造的老的目標文件刪除,因為他們使用不同的配置選項被編譯。
為了防止使用舊的配置信息或目標文件,在重新咝衏onfigure前咝羞@些命令:

shell>rm  config.cache
shell>make clean

另外,你可以咝衜ake distclean。

使用道具 举报

回复
论坛徽章:
4
每日论坛发贴之星
日期:2005-04-26 01:01:12会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2008-01-09 22:26:12
110#
 楼主| 发表于 2006-4-29 10:17 | 只看该作者
下表描述了一些最常發生的編譯MySQL的問題:

如果在編譯“sql_yacc.cc”時,你得到如下的一個錯誤,你可能是存儲器或交換空間溢出:
Internal compiler error: program cc1plus got fatal signal 11
  或
Out of virtual memory
  或
Virtual memory exhausted

該問題是gcc要求大量的內存編譯帶有嵌入函數(inline function)的“sql_yacc.cc”。試試以--with-low-memory選項咝衏onfigure:

shell>./configure -- with-low-memory
如果你正在使用gcc,該選項使得將-fno-inline加到編譯行,如果你正在使用其他的編譯器,則加入-O0。你應該試一試--with-low-memory選項,即使你有特別多的存儲器和交換空間,而你認為不能可能咝械靡绯觥_@個問題甚至在很慷慨的硬件配置的系統上出現,通常用--with-low-memory選項修正它。

缺省地,configure挑選c++作為編譯器名字並用-lg++選項的GNU c++鏈接。如果你正在使用gcc,這個特性在配置期間導致如下問題:
configure: error: installation or configuration problem:
C++ compiler cannot create executables.

你可能也在編譯期間看到g++、libg++或libstdc++相關的問題。這些問題的一個原因是你可能沒有g++,或你可能有g++但無libg++或libstdc++。看一下“config.log”文件。它應該包含你的c++編譯器不能工作的准確原因!為了解決這些問題,你可以使用gcc作為你的C++編譯器。試試設置環境變量CXX為"gcc -O3"。例如

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表