欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL 升級方法指南大全第4/5頁

 更新時間:2008年01月26日 18:58:58   作者:  
通常,從一個發(fā)布版本升級到另一個版本時,我們建議按照順序來升級版本。例如,想要升級 MySQL 3.23 時,先升級到 MySQL 4.0,而不是直接升級到 MySQL 4.1 或 MySQL 5.0。

不兼容的變化:由于5.0中 DECIMAL 數(shù)據(jù)類型的實現(xiàn)方式發(fā)生了變化,因此如果使用就版本的庫文件需要注意這個問題 
不兼容的變化:在5.0.3中,ER_WARN_DATA_TRUNCATED 警告符號改名為 WARN_DATA_TRUNCATED 了 
MYSQL 結(jié)構(gòu)體中的 reconnect 標(biāo)志被 mysql_real_connect() 設(shè)為 0。 
4、從 MySQL 4.0 升級到 MySQL 4.1

服務(wù)器部分:

不兼容的變化:以下好幾個都是需要重建數(shù)據(jù)表的,可以使用 mysqldump 導(dǎo)出表后重新導(dǎo)回去

如果在4.1.0到4.1.3版本的MySQL中創(chuàng)建了包含 TIMESTAMP 字段的 InnoDB 表。則在升級到4.1.4及更高時需要重建表,因為存儲格式發(fā)生變化了 
從4.1.3開始,InnoDB 表采用同一種字符集比較函數(shù)來比較那些 非latin1_swedish_ci 字符集且不是 BINARY 的字符串 
如果在4.1.0到4.1.5版本的MySQl中對 UTF8 字段或者其他多字節(jié)字段作了前綴索引,則在升級到4.1.6及更高時必須重建表 
如果在4.1之前,數(shù)據(jù)庫、表、字段、約束名中使用了重音字符(字節(jié)值是128到255的字符),那么不能直接升級到4.1。因為4.1使用 UTF8 來存儲元數(shù)據(jù)名。 
字符串根據(jù)標(biāo)準(zhǔn)SQL來比較:比較之前不刪除末尾的空格,以前用末尾空格擴(kuò)展了比較短的字符串?,F(xiàn)在的結(jié)果是 'a' > 'a\t',以前則不這樣。可以用 mysqlcheck 來檢查一下數(shù)據(jù)表 
MyISAM 現(xiàn)在使用更好的校驗和算法了 
不兼容的變化:MySQL把字符串類型字段的長度定義理解為字符長度而不是字節(jié)長度。 
重要提示:MySQL 4.1用 UTF8 字符集存儲數(shù)據(jù)表名和字段名。如果有用標(biāo)準(zhǔn) 7字節(jié) US-ASCII 范圍之外的字符作為表名/字段名的話,需要重建表 
重要提示:升級到4.1.1或更高后,就很難降級回到4.0或4.1了,因為 InnoDB 使用了多個表空間的緣故 
不兼容的變化:MySQL 4.1.13支持讓每個連接設(shè)定時區(qū),因此系統(tǒng)變量 timezone 改成 system_time_zone 
所有的數(shù)據(jù)表和非二進(jìn)制字符串(CHAR, VARCHAR, 和 TEXT)的字段都有字符集,二進(jìn)制字符串字段包括 BINARY, VARBINARY, 和 BLOB 
MySQL4.0中,如果有字段類型為 CHAR BINARY 或 VARCHAR BINARY,則它們會被當(dāng)作二進(jìn)制字符串類型 
如果數(shù)據(jù)表的字段中存儲著MySQL 4.1直接就能支持的字符集字符數(shù)據(jù)時,則可以將這個字段的值轉(zhuǎn)換成由合適的字符集存儲 
MySQL 4.1中對數(shù)據(jù)結(jié)構(gòu)描述文件 .frm 的格式稍作改進(jìn),新版本能兼容這個新格式,但是舊版本則不能 
windows下的服務(wù)器啟動時增加 --shared-memory 選項即可支持從本地客戶端連接時使用共享內(nèi)存 
不兼容的變化:從MySQL 4.1.1開始,對用戶自定義函數(shù)集合接口發(fā)生了很大改進(jìn) 
不兼容的變化:從4.1.10a開始,除非和主函數(shù)之間有輔助的鏈接,否則服務(wù)器將不再默認(rèn)地加載用戶自定義函數(shù)(UDFs),也可以通過 --allow-suspicious-udfs 選項來啟用 
客戶端部分:

mysqldump 默認(rèn)啟用 --opt 和 --quote-names 選項 
SQL部分:

不兼容的變化:字符串根據(jù)標(biāo)準(zhǔn)SQL來比較,如上面的"服務(wù)器變化"部分中提到的 
不兼容的變化:TIMESTAMP 返回 'YYYY-MM-DD HH:MM:SS' 格式的字符串。在MySQL 4.0中,可以增加選項 --new 來獲得MySQL 4.1中這方面的特性 
不兼容的變化:二進(jìn)制數(shù)據(jù)例如 0xFFDF 被當(dāng)成字符串而非數(shù)字 
不兼容的變化:在MySQL 4.1.1前,語句解析器不是那么嚴(yán)格,它在處理字符串轉(zhuǎn)時間轉(zhuǎn)換時會忽略第一個數(shù)字前的其他字符。在4.1.1之后,就比較嚴(yán)格了 
不兼容的變化:在MySQL 4.1.2,SHOW TABLE STATUS 結(jié)果的 Type 字段改名為 Engine 了 
當(dāng)執(zhí)行多表刪除語句時,要刪除的表只能使用它的別名,而不能用真實表名 
返回結(jié)果是 DATE, DATETIME, 或 TIME 類型的函數(shù)的結(jié)果會被轉(zhuǎn)換成時間型 
AUTO_INCREMENT 字段不能設(shè)定 默認(rèn)(DEFAULT) 值了 
LIMIT 不再接受負(fù)數(shù)參數(shù)了 
SERIALIZE 不再是 sql_mode 變量的有效值了,它的取代值是 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 
C API部分:

MySQL 4.1中的密碼哈希算法做了改進(jìn)以提升安全性,不過會導(dǎo)致兼容性問題。使用MySQL 4.0及更早版本的客戶端庫文件會發(fā)生問題。 

不兼容的變化:mysql_shutdown() 函數(shù)增加一個參數(shù):SHUTDOWN-level 
某些函數(shù)例如 mysql_real_query() 發(fā)生錯誤時返回 1 而非 -1 
密碼處理部分:

MySQL 4.1中的密碼哈希算法做了改進(jìn)以提升安全性,不過會導(dǎo)致兼容性問題。使用MySQL 4.0及更早版本的客戶端庫文件會發(fā)生問題。解決辦法有:

升級客戶端庫文件到4.1(不用升級服務(wù)器端庫文件) 
運行 mysql_fix_privilege_tables 腳本來加寬 user 表中的 Password 字段值,以適應(yīng)新的哈希算法。如果想要允許4.1以下的客戶端還能連接到服務(wù)器,那么服務(wù)器運行時要增加參數(shù) --old-passwords 
5、附錄

1、) 在Windows平臺上升級MySQL步驟:

備份舊數(shù)據(jù) 
停止舊服務(wù)器 
從windows的系統(tǒng)服務(wù)中刪掉mysql服務(wù),用如下命令:
C:\> C:\mysql\bin\mysqld --remove用可執(zhí)行安裝文件方式安裝mysql,或者解壓可直接執(zhí)行的二進(jìn)制壓縮包來安裝 
重新注冊mysql服務(wù),用如下命令:
C:\> C:\mysql\bin\mysqld --install  重啟服務(wù)器 
其他的問題詳見上面提到的各種升級中會碰到的情況 
2、) 升級授權(quán)表

相關(guān)文章

  • MySQL中count(*)執(zhí)行慢的解決方案

    MySQL中count(*)執(zhí)行慢的解決方案

    這篇文章主要介紹了MySQL中count(*)執(zhí)行慢的解決方案,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • MySQL之Field‘***’doesn’t have a default value錯誤解決辦法

    MySQL之Field‘***’doesn’t have a default value錯誤解決辦法

    這篇文章主要介紹了MySQL之Field‘***’doesn’t have a default value錯誤解決辦法,需要的朋友可以參考下
    2015-04-04
  • PHP之Mysql常用SQL語句示例的深入分析

    PHP之Mysql常用SQL語句示例的深入分析

    本篇文章是對Mysql常用SQL語句進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL最基本的命令使用匯總

    MySQL最基本的命令使用匯總

    這篇文章為大家分享了MySQL最基本的命令使用匯總,MySQL最基本的命令使用,包括如何正確連接MySQL(和PHP搭配之最佳組合),修改密碼與增加新用戶等相關(guān)內(nèi)容的描述,感興趣的小伙伴們可以參考一下
    2015-11-11
  • Mysql 的存儲引擎,myisam和innodb的區(qū)別

    Mysql 的存儲引擎,myisam和innodb的區(qū)別

    這篇文章主要介紹了Mysql 的存儲引擎,myisam和innodb的區(qū)別,需要的朋友可以參考下
    2014-12-12
  • 詳解MySQL如何保證數(shù)據(jù)一致性

    詳解MySQL如何保證數(shù)據(jù)一致性

    對于一個數(shù)據(jù)庫而言,除了數(shù)據(jù)的持久性、不丟失之外,一致性也是非常重要的,不然這個數(shù)據(jù)是沒有任何意義的,在使用MySQL時,數(shù)據(jù)不一致的情況也可能出現(xiàn),所以,本文就來看看MySQL是如何保證數(shù)據(jù)一致的,需要的朋友可以參考下
    2024-01-01
  • MySQL服務(wù)器的啟動和關(guān)閉

    MySQL服務(wù)器的啟動和關(guān)閉

    作為MySQL管理員,一個普通的目標(biāo)就是確保服務(wù)器盡可能地處于運行狀態(tài),使得客戶機(jī)能夠隨時訪問它。但是,有時最好關(guān)閉服務(wù)器(例如,如果正在進(jìn)行數(shù)據(jù)庫的重定位,不希望服務(wù)器在該數(shù)據(jù)庫中更新表)。保持服務(wù)器運行和偶爾關(guān)閉它的需求關(guān)系不是本書所解 決的。但是我們至少可以討論如何使服務(wù)器啟動和停止,以便您具備進(jìn)行這兩個操作的能力。
    2008-04-04
  • Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態(tài)

    Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態(tài)

    這篇文章主要介紹了Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態(tài),需要的朋友可以參考下
    2014-08-08
  • 帶你一文理清MySQL的各種鎖

    帶你一文理清MySQL的各種鎖

    MySQL?作為一種常用的關(guān)系型數(shù)據(jù)庫,也提供了多種鎖類型,這篇文章主要給大家介紹了關(guān)于MySQL各種鎖的相關(guān)資料,文中通過代碼及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • MySql獲取當(dāng)前時間并轉(zhuǎn)換成字符串的實現(xiàn)

    MySql獲取當(dāng)前時間并轉(zhuǎn)換成字符串的實現(xiàn)

    本文主要介紹了MySql獲取當(dāng)前時間并轉(zhuǎn)換成字符串的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論