1. 程式人生 > >Mysql5.5升級到5.7的過程已經踩到的坑

Mysql5.5升級到5.7的過程已經踩到的坑

故事是這樣子的,我們公司有幾臺老的mysql版本是5.5的,最近專案做了一些升級增加了幾個欄位,用spring-data-jpa自動重新整理表結構的時候報錯了,原因是mysql5.5的版本不支援一張表裡面有兩個以上的 current_timestamp 作為default value。所以就要考慮升級下資料庫

先到伺服器上面看了下版本

再看了下源


哦,順帶提一句,我們公司在用的aws 的 ec2 ,所以都是amz的源

試了下 yum update mysql-server 然後並沒什麼卵用,所以繼續往下搞。

網上看了好多都說是先把舊版本的資料庫解除安裝了再用裝新版本的資料庫,那我的裡面的資料咋辦,為了保險起見,我先辦資料庫做了個備份,一個庫一個庫的備份,我看mysql庫裡面也配了好多使用者和許可權,就順便也把mysql備份了,然後開搞。

1、解除安裝資料庫

yum remove mysql-server

但是我們這邊裝的好像不太一樣,我就把剛才yum查到的幾個都解除安裝了。

解除安裝前記得把mysql服務關掉,要不然裝新版本之後用mysql --version 檢視是5.7 mysql 登入進去還是5.5然後重啟服務就各種問題。因為有些檔案沒被刪掉,導致新裝的資料庫好奇怪的樣子。。。

2、安裝新資料庫

yum search mysql57

先看看有什麼版本可以選,這個沒啥說的直接

yum install msyql57-server.x86_64

安裝下來就ok,來看看都裝了些啥東西


很奇怪一點就是mysql-config依賴竟然還是5.5的,不過用起來沒發現啥問題

3、配置

安裝好了之後修改以下my.cnf

我的伺服器上面是在/etc/my.cnf 不知道其它的映象有沒有變化

在配置的時候我突然想到資料儲存的空間是還在的啊,配過去看看能用不

於是就在my.cnf配了這一行(5.5的好多配置都棄用了,之前的my.cnf裡面的都要刪一刪要不然啟動時會報錯)


配置之後果斷啟動服務

service mysqld start

果然報錯了

看了下啟動日誌

[ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
ERROR: Zend_Db_Adapter_Exception: SQLSTATE[HY000] [2002] No such file or directory
Additionally, an exception has occurred while trying to report this error: Zend_Exception
No entry is registered for key 'translate' (Abstract.php:144)

    具體解決方法如下

    a. 登入到那臺伺服器主機上面

    b.  Add skip-grant-tables in /etc/my.cnf file under [mysqld] section 意思就是開啟安全模式(不驗證密碼什麼的)

    c.  service mysqld start 

   d.  mysql_upgrade

   e.  service mysqld restart 

    我執行了一下mysql_upgrade 


查了查官方文件,大體意思就是升級之後好多東西不怎麼相容,官方提供這個指令碼來修復之前的工作空間

果然是無縫升級mysql資料庫中的使用者都還在之前的資料庫也沒有受到影響

至此升級完成

相關推薦

Mysql5.5升級5.7過程已經到的

故事是這樣子的,我們公司有幾臺老的mysql版本是5.5的,最近專案做了一些升級增加了幾個欄位,用spring-data-jpa自動重新整理表結構的時候報錯了,原因是mysql5.5的版本不支援一張表裡面有兩個以上的 current_timestamp 作為default v

mysql5.6升級5.7(物理方式)

本文的升級方式為物理升級: 直接替換掉mysql的安裝目錄和修改my.cnf,利用mysql_upgrade來完成系統表的升級,這種方法需要備份原有的檔案,屬於物理拷貝,速度較快。缺點的話,跨版本升級不推薦這麼做,比如mysql5.1升級到mysql5.6,mysql5.5升級到mysql5.7等。

centos mysql5.6 升級5.7

系統環境:centos7.2,linux3.10 [[email protected]_0_15_centos ~]# uname -a Linux VM_0_15_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul

mysql5.6升級5.7

原地升級1.將現有的mysql關閉。使用cmd視窗,進入到mysql目錄下面,將mysql服務移除。?12X:\Ares\bin\mysql5.6\bin>mysqld --remove mysql5.6Service successfully removed.2.下載

【MySQL】【windows10】5.5升級5.7

最近原有專案升級,發現產品線使用的MySQL版本是5.7,現在的是5.5。只能升級。升級步驟如下: 在【工作管理員】中,將mysql的任務殺掉。【win+r】輸入【services.msc】查詢MYSQL服務,並停掉。 解壓縮,剛下載的mysql程式,到一個新的目錄

mysql 5.7主從同步實踐

基本環境配置 首先,要保證防火牆對3306埠的開啟,(開啟方式,請參考:[http://blog.csdn.net/xlgen157387/article/details/49964557]),如果只是為了學習資料庫的主從配置,可以使用service iptables

20160907記自己今天弄centos6.5升級7的經過

今天想把CentOS6.5升級上7來玩一下 於是上網找怎麼升級的 第一步當然是看系統版本 命令如下 #uname -a 第二步  要加一個源在 #vim /etc/yum.repos.d/upgrade.repo[upgrade] name=upgrade baseu

mysql5.1升級5.6步驟以及出現問題解決方法

1、先看看有沒有老的mysql rpm -qa |grep -i mysql 有條目出現,刪除 mysql5.1 yum remove mysql* 2、安裝rpm包 rpm -ivh mysql

mysql 5.5升級5.6報錯:ERROR 1193 (HY000) at line 84: Unknown system variable 'have_csv'

首先登陸資料庫沒有問題呀,但是有報錯, 文字顯示: ERROR 1193 (HY000) at line 84: Unknown system variable 'have_csv' ERROR 1064 (42000) at line 86: You have an error in yo

zabbix3.2.5升級4.0遇到的新

之前在自己虛擬機器上模擬了zabbix3.2.11升級4.0的情況: http://uscwifi.cn/558 在升級線上業務的時候,沒想到又遇到了新坑: 參考為官方連結:https://www.zabbix.com/documentation/current/zh/manua

CentOS7.5中安裝MySql(實踐版)

前言 接上篇,SpringBoot從入門到熟悉(二)web開發,在學習springBoot過程中用到了MySql,所以這篇就記錄一下我安裝MySql的詳細過程。因為我是在配置過程中記錄在有道雲筆記的,所以這篇主要就是複製貼上我的雲筆記了。所以,你還會看到一個前言,GGG

CentOS 7 安裝 Mysql + 記錄

安裝Mysql: 0、下載:(我的系統是 CentOS 64位,選擇下載64位Mysql5.6) wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.42-linux-glibc2.12-x86_64.

Django+Vue+微信登入授權前後端分離實現過程問題階段性總結

我要說明的是另外以下幾點: 跨域問題 關於跨域問題是指在開發前端頁面使用前端熱更新除錯過程中與Django進行的資料請求產生的跨域問題. 例如你在本地 http://localhost:8080/#/ 除錯介面請求Django本地伺服器 http://l

MySQL5.6到5.7版本升級采用IN-PLACE的升級方式需要具體關註的地方

null mysq 限定 replicate 有效 lac switch 錯誤 cat 一.SQL變更GET_LOCK()函數行為MySQL 5.7.5之前GET_LOCK()在執行第二次的額時候會釋放前面獲得的鎖,在此版本以後支持同時獲得多個鎖,如:mysql>

MySQL5.5升級5.7

nod correct mman query update star 配置文件 export .tar.gz 一、準備工作 新的服務器(10.12.21.184),作為從庫 在21.184上下載MySQL5.6、5.7的最新穩定版本的二進制包 host role

記一次MySQL遷移並從MySQL5.6升級5.7後查詢慢了幾十倍的問題

打印 ins 狀態 sql語句 top 引用 為什麽 區別 image 起因 因為生產環境數據量越來越大,客戶越來越多,項目功能也越來越多,項目本身也越來越多,導致之前的服務器內存、硬盤都已經漸漸的不夠用了,當時出現了2種解決方案,增加服務器配置和新購服務器,但是就算是新增

phpstudy2018升級MySQL5.55.7.24教程(圖文)

  原文: phpstudy2018升級MySQL5.5為5.7教程(圖文) 一、MySQL官網下載MySQL5.7版本,我這裡下載的是MySQL5.7.24。 二、直接到D:phpStudyPHPTutorial目錄下刪除之前的MySQL版本,把下載好的MySQL5.7.24版本解壓並修改

Mysql5.6升級5.7操作步驟

mysql5.6 升級至 mysql5.7 環境介紹: 舊庫: basedir=/usr/local/mysql-5.6 datadir=/home/mysql  config=/home/mysql/my.cnf sock=/home/mysql/mysql.sock 

mysql5.5升級5.7

一、首先把mysql服務停止,複製mysql5.5中的data資料夾中的內容(你需要的資料庫),放在mysql5.7的data資料夾中; 二、啟動切換mysql5.7版本,(我這用的是phpwamp,切換方便),啟動成功會在data資料夾中自動生成以 ib 開頭的一串檔案; 三、再停止myslq服務,把m

MySQL5.5升級MySQL5.7

其實就是把MySQL5.5卸掉,重新安裝MySQL5.7。 備份原來資料庫的檔案 在C:\ProgramData\MySQL 相應的版本目錄下面,有data目錄,將此目錄複製到其他地方備份。在C:\ProgramData\MySQL 相應的版本目錄下面,有data目