我在windows環(huán)境下升級MySQL 從5.0到5.5升級。
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)義馬,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
升級就是重新安裝了mysql。把原來的5.0下的data數(shù)據(jù)拷貝給5.5mysql下的data。但是拷貝后,重啟5.5mysql 突然識別不了innodb的table_type。經(jīng)過學(xué)習(xí)了解后。把5.0下的my.ini 文件中innodb的配置選項拷貝給了5.5后,重啟問題得到了解決。
有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數(shù)據(jù)檢測恢復(fù)工具。前者使用起來比較簡便。推薦使用。
1. check table 和 repair table
登陸mysql 終端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出現(xiàn)的結(jié)果說Status是OK,則不用修復(fù),如果有Error,可以用:
repair table tabTest;
進行修復(fù),修復(fù)之后可以在用check table命令來進行檢查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk適用于MYISAM類型的數(shù)據(jù)表,而isamchk適用于ISAM類型的數(shù)據(jù)表。這兩條命令的主要參數(shù)相同,一般新的系統(tǒng)都使用MYISAM作為缺省的數(shù)據(jù)表類型,這里以myisamchk為例子進行說明。當(dāng)發(fā)現(xiàn)某個數(shù)據(jù)表出現(xiàn)問題時可以使用:
myisamchk tablename.MYI
進行檢測,如果需要修復(fù)的話,可以使用:
myisamchk -of tablename.MYI
關(guān)于myisamchk的詳細參數(shù)說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL服務(wù)器沒有訪問這個數(shù)據(jù)表,保險的情況下是最好在進行檢測時把MySQL服務(wù)器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面啟動MySQL服務(wù)器前:
[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監(jiān)聽的Sock文件位置,對于使用RPM安裝的用戶應(yīng)該是/var/lib/mysql/mysql.sock,對于使用源碼安裝則是/tmp/mysql.sock可以根據(jù)自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數(shù)據(jù)庫存放的位置。
需要注意的時,如果你打算把這條命令放在你的rc.local里面,必須確認在執(zhí)行這條指令時MySQL服務(wù)器必須沒有啟動!檢測修復(fù)所有數(shù)據(jù)庫(表)
1、概述通常,從一個發(fā)布版本升級到另一個版本時,我們建議按照順序來升級版本。例如,想要升級 MySQL 3.23 時,先升級到 MySQL 4.0,而不是直接升級到 MySQL 4.1 或 MySQL 5.0。 以下是在升級 MySQL 時需要注意的事項: 仔細閱讀一下升級的目標版本的新特性和改變的特性,以及2個版本之間的不同特性 升級前一定要備份所有的數(shù)據(jù) 如果是在Windows平臺上升級MySQL,請閱讀附錄 "在Windows平臺上升級MySQL" 有些不同版本間的升級可能會涉及對授權(quán)表的修改,請尤其注意這個問題,詳情請閱讀附錄 "升級授權(quán)表" ◆如果正在運行著同步,請閱讀附錄 "升級同步" ◆如果之前運行著MySQL-Max發(fā)布版本,想要升級到非MySQL-Max發(fā)布版本時,就需要從 mysqld_safe 去掉啟動 mysqld-max 服務(wù)器的參數(shù) 在同一個發(fā)布系列版本的MySQL間,可以隨意拷貝格式文件和數(shù)據(jù)文件。如果在MySQL運行過程中改變了字符集,就需要對每個MyISAM表執(zhí)行 "myisamchk -r -q --set-character-set=charset" 命令修復(fù)一下。否則的話,索引的排序可能不正確,因為修改了字符集,就可能會改變索引的順序。 通常情況下,升級到新版本不需要修改任何數(shù)據(jù)表。請檢查MySQL發(fā)布事項中提到的升級需要注意的地方,如果發(fā)現(xiàn)不能直接升級的話,就先用 mysqldump 將數(shù)據(jù)導(dǎo)出來,然后再導(dǎo)回去。 如果擔(dān)心升級失敗,就先把舊版本的MySQL改個名字備份起來,以備所需。 同時,升級完之后可能還需要重新編譯跟MySQL相關(guān)的程序,因為新版本的頭文件和庫文件可能有改變了。 如果升級后發(fā)生問題了,請先檢查是否使用了舊的my.cnf配置文件,可以通過執(zhí)行命令 "mysqld --print-defaults" 來打印出各種配置信息來確認。 升級的時候最好也升級類似Perl的 DBD::mysql 模塊,同樣,對PHP和Python而言也是一樣。 2、從 MySQL 5.0 升級到 MySQL 5.1 從 5.0 升級到 5.1 的時候,必須要升級授權(quán)表。否則,可能某些存儲過程無法運行。詳情請看附錄 "mysql_update MySQL升級時檢查數(shù)據(jù)表"。 以下是從 5.0 升級到 5.1 需要注意的事項: 檢查所有的變化,尤其注意那些標志為 "不兼容的變化" 的部分。詳情請看附錄 "mysql_update MySQL升級時檢查數(shù)據(jù)表" ◆可能某些發(fā)布版本會改變授權(quán)表的機制
我的版本是5.7.30 升級到5.7.33
1.停服務(wù),服務(wù)列表去找,如果有環(huán)境變量換成新的路徑
2.將新的mysql解壓到你想安裝的路徑下(與原路徑相同就好)
3.將舊版本下的data文件和my.ini文件copy至新版路徑下, 注意修改ini文件basedir和datadir
4.cd到新版的bin目錄下,并執(zhí)行如下命令
5.啟動MYSQL57服務(wù)
升級mysql:mysql_upgrade -uroot -p 并輸入密碼
移除MySQL服務(wù),可以不做
cd 到5.7.30的bin目錄下,并執(zhí)行如下命令
mysqld --remove mysql5.7
1.先用SQLyog之類的圖形化數(shù)據(jù)庫管理工具把數(shù)據(jù)庫內(nèi)的所有東西備份出來。backup database as sql dump。注意要選structure and data (結(jié)構(gòu)和數(shù)據(jù))。導(dǎo)出sql文件后,確認一下sql文件無誤。
2.系統(tǒng)中可能存在自帶的MySQL,采用命令進行強制刪除
rpm –qa|grep mysql
rpm -e mysql-5.1.61 --nodeps 強制刪除mysql 不考慮依賴關(guān)系 (此處根據(jù)上一步查詢到的結(jié)果)
3.安裝mysql
rpm -ivh MySQL-server-community-5.1.61-0.rhel5.x86_64.rpm (包名根據(jù)實際情況)
4.在MySQL配置文件/etc/my.cnf中根據(jù)實際需要添加
lower_case_table_names=1
skip-name-resolve
event_scheduler=1
default-character-set=utf8
wait_timeout=31536000
interactive_timeout=31536000
5.啟動服務(wù)
cd /etc/init.d
./mysql restart
或者service mysqld restart
6.登陸MySQL
/usr/local/mysql/bin/mysql -u root –p
7.新增用戶,根據(jù)允許訪問的地址和用戶,可能需要多次執(zhí)行。
GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.1.1(你的ip)' IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
8.
用SQLyog之類的圖形化數(shù)據(jù)庫管理工具把數(shù)據(jù)庫備份出來的sql語句執(zhí)行一遍
9.完成
1.停止原來的MySQL服務(wù)
2.備份原來數(shù)據(jù)庫的數(shù)據(jù)
3.卸載原來安裝的程序
4.安裝新版本的程序
5.數(shù)據(jù)還原