1、升級是一件風(fēng)險極高的任務(wù),備份重于一切。
成都創(chuàng)新互聯(lián)公司是專業(yè)的清河網(wǎng)站建設(shè)公司,清河接單;提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行清河網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
2、了解新版本變更的信息(哪些不再兼容,不再支持哪些功能)。
1、確認新版本是否有重大變更
2、注意 SQL mode 的變化,比如:MySQL5.7發(fā)生了SQL mode的變化,對不再支持的SQL mode,部分SQL會跑不通,可以清空SQL mode,跑完之后在設(shè)置SQL mode。
3、升級成功后,確認業(yè)務(wù)SQL是否可以跑通,程序?qū)邮欠穸颊!?/p>
4、在升級完成之后,一定要在測試時使用和線上版本相同的程序,測試是否存在問題。
5、存儲引擎的變化,比如:在未來的5.8版本,不再支持myisam 引擎。
6、注意字符集的亂碼問題。
7、升級過程中多次啟動建議加上 --skip-grant-tables和--skip-networking 參數(shù),來保證沒有任何的應(yīng)用連接,讓升級過程更加安全。
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)表的機制
修改MySQL數(shù)據(jù)庫引擎步驟如下
第一:修改my.ini,在[mysqld]下加上:
default-storage-engine=引擎名稱
其中的等號后面是要指定的數(shù)據(jù)庫引擎名稱。
第二:用sql語句修改已經(jīng)建成表的引擎:
alter
table
tableName
type=InnoDB
--type語法在4.X版本下存在
alter
table
tableName
ENGINE=InnoDB
--5.X下都改成engine=innodb
舉例說明下面貼出我的my.ini文件供參考:
[mysqld]
basedir=C:\Program
Files\VertrigoServ\Mysql\
datadir=C:\Program
Files\VertrigoServ\Mysql\data\
port
=3306
key_buffer
=64M
max_allowed_packet
=1M
table_cache
=128
sort_buffer_size
=512K
net_buffer_length
=8K
read_buffer_size
=256K
read_rnd_buffer_size
=512K
myisam_sort_buffer_size
=68M
default-storage-engine=INNODB
[mysqldump]
quick
max_allowed_packet
=116M
[mysql]
no-auto-rehash
#
Remove
the
next
comment
character
if
you
are
not
familiar
with
SQL
#safe-updates
[isamchk]
key_buffer
=20M
sort_buffer_size
=20M
read_buffer
=62M
write_buffer
=62M
[myisamchk]
key_buffer
=20M
sort_buffer_size
=20M
read_buffer
=62M
write_buffer
=62M
[mysqlhotcopy]
interactive-timeout
按照以上的代碼提示操作,我們就能夠成功地修改MySQL數(shù)據(jù)庫引擎為INNODB了。
1.將現(xiàn)有的mysql關(guān)閉。使用cmd窗口,進入到mysql目錄下面,將mysql服務(wù)移除。
X:\Ares\bin\mysql5.6\binmysqld --remove mysql5.6
Service successfully removed.
2.下載最新的mysql5.7壓縮包。
下載地址:
最新的mysql5.7的壓縮包解壓開你會發(fā)現(xiàn),沒有data目錄和my.ini文件,跟之前的版本不一樣。
這里寫圖片描述
3.將之前mysql5.6的data目錄和my.ini文件拷貝至mysql5.7下。
這個地方要注意:my.ini中,版本5.6的配置,有一些在版本5.7下面已經(jīng)不能用了。
將mysql.ini文件配置做以下修改。
[mysqld]
# 設(shè)置mysql的安裝目錄[根據(jù)本地情況進行修改]
basedir = X:/Ares/bin/mysql
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄[根據(jù)本地情況進行修改]
datadir = X:/Ares/bin/mysql/data
#設(shè)置3306端口
port = 3306
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 設(shè)置mysql客戶端默認字符集
default-character-set=utf8
4.將mysql5.7的服務(wù)添加到win的服務(wù)隊列中,并且啟動mysql服務(wù)。
將mysql5.7的服務(wù)添加到win的服務(wù)隊列中
X:\Ares\bin\mysql5.7\binmysqld --install mysql5.7
Service successfully removed.
啟動mysql服務(wù)
X:\Ares\bin\mysql5.7\binnet start mysql5.7
mysql5.7 服務(wù)正在啟動
mysql5.7 服務(wù)已經(jīng)啟動成功。
5.升級mysql:mysql_upgrade -uroot -p
X:\Ares\bin\mysql5.7\binmysql_upgrade -uroot -p123
……省略一萬字……
升級速度具體看data目錄的大小情況而定。
6.升級成功后,再次重啟mysql5.7服務(wù)
X:\Ares\bin\mysql5.7\binnet stop mysql5.7
mysql 服務(wù)正在停止。
mysql 服務(wù)已成功停止。
X:\Ares\bin\mysql5.7\binnet start mysql5.7
mysql5.7 服務(wù)正在啟動
mysql5.7 服務(wù)已經(jīng)啟動成功。
7.安裝升級完成。
前天我剛回答了相似的問題你參考一下
1.導(dǎo)出4.0.23當前數(shù)據(jù)庫數(shù)據(jù),進行備份。
2.安裝4.1或5.1進行備份數(shù)據(jù)導(dǎo)入。
3.具體操作
linux中升級MySQL應(yīng)采取的步驟:
1. 進行升級前你應(yīng)先備份當前的MySQL安裝。
2. 下載最新linux版MySQL。
3. 升級MySQL前,必須停止服務(wù)器。
如果服務(wù)器安裝為服務(wù),必須在命令提示符下在命令行中用命令停止服務(wù):
4.當從以前至的4.0.23版本升級到4.1或5.1時,或從Zip文件安裝的MySQL升級到MySQL Installation Wizard(安裝幫助)安裝的MySQL時,你必須手動卸載前面安裝的MySQL服務(wù)。
如果你不想卸載已有的服務(wù),MySQL Installation Wizard(安裝幫助)則不會正確安裝新的MySQL服務(wù)。
5. 如果你使用MySQL Installation Wizard(安裝幫助),請參考“使用MySQL安裝向?qū)А钡拿枋鰜韱訋椭?/p>
6. 如果用Zip文件安裝MySQL,應(yīng)提取文件。你可以覆蓋已有的MySQL安裝,建議覆蓋原有的安裝。
7. 重新啟動服務(wù)器。,
可以的,mysql只是提供了運行存儲引擎的平臺,只要你所需的存儲引擎兩個版本都有就行了(當然肯定是有的)。比如你5.5用的是innodb,只要你5.6上也有innodb,你倒過去就可以使用了??缙脚_也是一樣的。