1. 程式人生 > >mysql升級-5.1升級到5.7

mysql升級-5.1升級到5.7

一、mysql升級1.備份資料庫 mysqldump -uroot -ppasswod --all-databases > /data/bak/db_bak_$(date +%Y%m%d_%H%M).sql (同時可備份整個mysql目錄,包括data目錄,可用於升級失敗快速回滾)2.安裝5.7 提供兩種安裝方式參考,根據實際情況選擇安裝方式3.匯入資料 登陸mysql set names utf8; source /data/bak/db_bak_xxx.sql二、升級後配置 mysql版本從5.1升級到5.7, 除了在效能上還在資料儲存和安全性上做了優化, 升級後需要做一些特殊配置以相容已有的資料庫
1.資料升級 mysql的bin目錄下執行 ./mysql_upgrade -uroot -ppassword (參考: http://webcheatsheet.com/sql/Fix_Cannot_load_from_mysql.proc._The_table_is_probably_corrupted.php)2.重新授權資料升級後許可權可能有問題了,需要對對使用者(包括root在本機也不能登陸了)進行重新授權 1)設定root賬號密碼 參看: http://note.youdao.com/noteshare?id=d0b9d53b20d1a2f9950993ab489ad727&sub=DC02B8469D164BC8AF8A8110652DE6DE
2)給使用者重新受權 可參看: http://note.youdao.com/noteshare?id=025ca2a23e6b2f5ba7b3b3fd6d421a50&sub=91259DEC3B52499A99C374703C265D9C3.設定sql mode,相容原來的sql groupby等用法 1)當前執行中的mysql設定sql_mode SET @@GLOBAL.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
2)配置檔案中設定sql_mode vi /etc/my.cnf [mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION (參考資料: https://www.jianshu.com/p/5deaecf4bd1b )