mysql升級5.5


對付Linux的問題,其實很多都是權限問題,細心想一下即可。

centos6.4默認裝的是mysql5.1,使用 yum update 也update不了。google了一下,找到個yum安裝的方法:http://www.webtatic.com/packages/mysql55/

先備份一下:(非常重要)

  • 備份數據庫文件: 復制 /var/lib/mysql/下的數據庫文件到安全的目錄 (復制回來的時候注意修改權限 )
 cp -r /var/lib/mysql /home/www/bak/mysql/

再把這個目錄清空了(mysql啟動的時候會重新加載數據庫文件)

  • 備份mysql數據庫用戶文件:mysql內置的用戶,root等也需要我們去備份。(這里我遇到了問題,存儲過程也得備份,不知道為什么文件中沒有保存這些信息)。
mysqldump -u username -p --database mysql > /home/www/bak/mysqluser.sql

再將 /etc/my.cnf 備份一下,cp一下即可。

下面開始升級:

  1. 加個yum的源:
    rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

    國外的童鞋弄d~~~

  2. 裝個replace的軟件,這個非常方便,省去了我們自己去卸載mysql的步驟
    yum install mysql.`uname -i` yum-plugin-replace
    yum replace mysql --replace-with mysql55

     

  3. 安裝mysql5.5 ,再啟動一下;這個時候啟動應該是有很多提示。所以用safe install來啟動
    yum install mysql55 mysql55-server
    mysql_secure_installation

     

  4. 裝好后開始導入原來的數據。
    cp -rf /home/www/bak/mysql/* /var/lib/mysql/
    chown -R mysql.mysql /var/lib/mysql

    這里cp命令默認是加了 -i參數的,可以在 ~/.bashrc里面去掉注釋,然后 source ~/.bashrc 使用改動生效 , 再將文件權限所有者改回mysql(非常重要!)

  5. 導入原來的用戶sql文件
mysql < /home/www/bak/mysqluser.sql

重啟一下Mysql即可。

在整個系統升級的過程中,遇到很多問題,包括nginx的問題,phpMyAdmin沒法登錄,Thinkphp沒法登錄等問題,原因是php的session沒法寫。找到原因是升級的過程中,apache也升級了,session目錄的所有者是apache。改為Nginx后問題解決...

 

這里有個問題,恢復過程中,存儲過程沒了?!還是整個數據庫都 dump了出來,再導入恢復。就是不明白為什么數據庫文件包含了視圖,卻沒有存儲過程和函數呢?

分析一下, ibdata1保持的是所有 Innodb 的數據庫文件,.frm,.xxx這些文件保存的是各自的數據庫文件...

 

還有一篇參考文章,手把手教學:http://www.ovaistariq.net/490/a-step-by-step-guide-to-upgrading-to-mysql-5-5/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM