Mysql5升級到Mysql5.5的方法
安裝5.5依賴安裝包
代碼如下
yum install -y autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl*
安裝cmake
代碼如下
yum install -y cmake
在升級前,建議先將之前5.1的mysql及數(shù)據(jù)庫目錄備份一下
停止掉mysql
代碼如下
service mysql stop
升級mysql 5.5.36
代碼如下
http://download.csdn.net/download/cike121272604/6943279 tar xf mysql-5.5.36.tar.gz cd mysql-5.5.36 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/var -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 make && make install
刪除/etc/下的my.cnf配置文件
代碼如下
rm -rf /etc/my.cnf
拷貝5.5的配置文件
代碼如下
cp support-files/my-huge.cnf /etc/my.cnf
嘗試啟動一下
代碼如下
service mysql start
執(zhí)行更新程序并重啟mysql
代碼如下
/usr/local/mysql/bin/mysql_upgrade
如果一路OK就沒事兒,但要是出了錯誤,請參考我另外一篇文章 mysql5.5升級過程中mysql_upgrade失敗的問題
查看下現(xiàn)在的mysql版本
代碼如下
cat mysql_upgrade_info
好了,升級工作完成。
再附升級失敗問題解決
在升級mysql5.5過程中,執(zhí)行/usr/local/mysql/bin/mysql_upgrade
提示:
代碼如下
Looking for 'mysql' in: /usr/local/mysql/bin/mysql Looking for 'mysqlcheck' in: /usr/local/mysql/bin/mysqlcheck Running 'mysqlcheck'... /usr/local/mysql/bin/mysqlcheck: Got error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOR UPGRADE' at line 1 when executing 'CHECK TABLE ... FOR UPGRADE' FATAL ERROR: Upgrade failed
想起之前5.1好像是有密碼的!這兒換種方式嘗試
代碼如下
/usr/local/mysql/bin/mysql_upgrade -S /var/data/mysql.sock -uroot -p
這個也不行了,突然想到出奇招,還是使用5.5的二進(jìn)制程序,然后更改啟動參數(shù),因?yàn)槲抑幌胍裠ata目錄下的表結(jié)構(gòu)升級而已,必須指定的參數(shù)只是data目錄,于是我做了如下嘗試
# 啟用 --skip-grant-tables參數(shù)避開檢查,先啟動再說
代碼如下
/usr/local/mysql/bin/mysqld --datadir=/usr/local/mysql/var/ --user=mysql --skip-grant-tables &
# 看上去成功了
# 中間報(bào)了一些innodb的錯誤,不去理會,應(yīng)該是配置或是這個半陰半陽狀態(tài)下問題,這個以后再解決
# 接下來停止這個服務(wù) mysqladmin shutdown 之,然后以正常參數(shù)啟動mysqld服務(wù)…… 修改些my.cnf中的配置參數(shù),以適合mysql5.5
一句話總結(jié):
代碼如下
/usr/local/mysql/bin/mysqld --datadir=/usr/local/mysql/var/ --user=mysql --skip-grant-tables &
相關(guān)文章
CentOS6.5下RPM方式安裝mysql5.6.33的詳細(xì)教程
本文給大家詳細(xì)介紹CentOS6.5下RPM方式安裝mysql5.6.33的教程,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友一起看看吧2016-10-10
MAC下Mysql5.7+ MySQL Workbench安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了MAC下Mysql5.7+ MySQL Workbench安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
詳解MySQL中timestamp和datetime時區(qū)問題導(dǎo)致做DTS遇到的坑
datetime和timestamp這兩種類型都是用于表示年月日時分秒格式的數(shù)據(jù),那么他們有那么區(qū)別,本文就詳細(xì)的介紹一下MySQL timestamp和datetime坑,文中通過示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下2021-12-12
ERROR 1406 : Data too long for column 解決辦法
導(dǎo)入數(shù)據(jù)的時候,mysql報(bào)錯 ERROR 1406 : Data too long for column Data too long for column2011-04-04
mysql 報(bào)錯This function has none of DETERMINISTIC解決方案
這篇文章主要介紹了mysql 報(bào)錯This function has none of DETERMINISTIC解決方案的相關(guān)資料,需要的朋友可以參考下2016-11-11
MySQL入門(一) 數(shù)據(jù)表數(shù)據(jù)庫的基本操作
這類文章記錄我看MySQL5.6從零開始學(xué)》這本書的過程,將自己覺得重要的東西記錄一下,并有可能幫助到你們,在寫的博文前幾篇度會非常基礎(chǔ),只要動手敲,跟著我寫的例子全部實(shí)現(xiàn)一遍,基本上就搞定了,前期很難理解的東西基本沒有2018-07-07

