把配置文件添加:skip-grant-tables參數(shù),把basedir升級成新版本,啟動mysql,執(zhí)行命令:mysql_upgrade升級一下字典信息,然后flush privileges;刷新授權(quán)表,注意:如果是使用共享表空間,最好是把數(shù)據(jù)導出來再導入新版,如果是使用獨立表空間可以使用mysql_upgrade升級。如:
1. shell > service mysqld stop #把實例停掉
代碼如下:
shell > mv /usr/local/mysql /usr/local/mysql.bak #把mysql5.5.x的舊basedir改名為備份目錄
shell > cp -ar /data/mysql3306 /data/mysql3306.bak #把mysql5.5.x下的實例數(shù)據(jù)備份一下,以免升級過程中發(fā)生意外
shell > tar vf xxx.tar.gz -C /usr/local #把mysql5.6.x的二進制包解壓到basedir路徑下,這里使用mysql5.6.27版本,下載地址:wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz
shell > cd /usr/local/
shell > ln -s mysql-5.6.28-linux-glibc2.5-x86_64 mysql #創(chuàng)建軟連接
shell > \cp -ar /usr/local/mysql.bak/my.cnf /usr/local/mysql/ #把舊版basedir下的配置文件復制回來,如果你的配置文件不是在basedir下,那這里就不用動
2.在配置文件的mysqld下添加:skip-grant-tables選項:
3.shell > service mysqld start #啟動更新basedir之后的實例
4.使用mysql_upgrade命令:檢查不兼容的表,更新grant表
shell > mysql_upgrade -P3306 -u root -p'xx' #命令輸出除了warning外,表檢查都必須要為OK,然后登錄mysql(登錄時的提示就可以看到新的版本號),
mysql > flush privileges;
5.去掉配置文件中的skip-grant-tables
6.看看錯誤日志有沒有什么報錯,此時就可以去驗證下數(shù)據(jù)是否有異常,沒有異常就表示升級成功了
注意:升級不可跳級,即5.1要想升級成5.6,必須先升級到5.5;所有步驟完成之后,最好再重啟下mysqld
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com