MySQL資料庫5.0升級到5.1,再升級到5.5

來源:互聯網
上載者:User
MySQL5.0升級到5.1備份資料庫為sql檔案,必須要備份,然後匯入資料,使用複製資料庫檔案會到導致一些奇怪問題,比如:中文亂碼,表損壞等    mysqldump 升級授權表    升級時在老的MySQL需要運行    ./mysql_fix_privilege_tables  --password=root_password --basedir=new_mysql_basedir --socket=old_mysql_sock備份老的my.cnf和/etc/init.d/mysqld檔案    mv my.cnf /etc/init.d/mysqld /backup/mysqlbackup/etc/
安裝設定檔和啟動管理指令碼    複製 support-files下面的mysql.server到/etc/init.d/mysqld 修改basedir和datadir的值為當前mysql的路徑    複製 support-files下面的my-medium.cnf到/etc/my.cnf 並根據需要修改裡面的參數值
啟動server,看error日誌,一般為$hostname.err匯入資料庫
MySQL5.1升級到5.5備份資料檔案移除/etc/init.d/mysqld和/etc/my.cnf複製mysql5.5 的目錄到/data/soft/mysql5.5複製my.cnf和mysql.server 到/etc/init.d/mysqld 和/etc/my.cnf修改mysqld和my.cnf的參數資訊啟動mysql取消對授權表的檢查mysqld --skip-grant-tables --user=mysql運行mysql_upgrade 更新現有庫,這個時間很長,最好是從其他位置匯入SQL資料
正式啟動mysql

mysql 5.5 不僅宣傳工作做得好,其實 mysql server 本身也的確是大幅增進了效能,而且 Inno DB 外掛程式的效能也大增。但是沒有啥比較好的升級到 Mysql 5.5 的指南,所以我就自己動手寫了一個,這也沒啥大不了的嘛!

1、下載二進位安裝包

$ cd /root/$ wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.8-linux2.6-i686.tar.gz/from/http://mysql.oss.eznetsols.org/$ mv index.html mysql-5.5.8-linux2.6-i686.tar.gz  

2、備份 mysql 設定檔

[c-sharp] view
plaincopy

$ mkdir /root/mysql-5.1-conf$ cp -R /etc/mysql/ /root/mysql-5.1-conf  

3、備份資料目錄

$ mkdir /root/mysql-5.1-data$ cp -R /var/lib/mysql/ /root/mysql-5.1-data  

4、備份資料

5、安裝非同步 I/O 庫

Mysql 5.5 的新的 Inno DB 使用了 libaio 來增進效能

$ apt-get install libaio-dev  

6、解包

$ tar xzvf mysql-5.5.8-linux2.6-i686.tar.gz  

7、把解包的 mysql 目錄放到安裝目錄

$ cp -R mysql-5.5.8-linux2.6-i686 /usr/local/$ cd /usr/local/$ ln -s mysql-5.5.8-linux2.6-i686 mysql  

8、刪除舊版本的 mysql

$ apt-get remove mysql-server-5.1
$ apt-get autoremove$ apt-get remove mysql-client$ apt-get autoremove  

9、把 mysql bin 目錄加到 PATH 環境變數

$ vim /etc/environmentPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin"  

10、為 mysql 安裝目錄和檔案設定正確的許可權

$ cd /usr/local/mysql$ chown -R mysql:mysql data  

11、建立 socket 目錄

再次提醒,記得設定許可權

$ mkdir /var/run/mysqld/

$ chown -R mysql:mysql /var/run/mysqld/  

12、把 mysql 的 sample 配置拷貝到 etc 目錄,並設定好路徑

$ cd /usr/local/mysql/support-files/

$ cp my-large.cnf /etc/my.cnf  

編輯 /etc/my.cnf,如下值:

user = mysql

socket = /var/run/mysqld/mysqld.sock

port = 3306

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

tmpdir = /tmp

log_error = /var/log/mysql/error.log  

13、把 mysql server 的啟動指令碼拷貝到啟動目錄

$ cd /usr/local/mysql/support-files/

$ cp mysql.server /etc/init.d/mysql

$ chmod +x /etc/init.d/mysql

$ update-rc.d mysql defaults  

14、刪除舊版的 mysql 檔案

$ rm -R /var/lib/mysql$ rm -R /etc/mysql$ rm -R /usr/lib/mysql  在安裝後第一次使用 mysql server 時切記要跳過 grants 表,原因有二:一是我們可能希望原來的使用者和許可權資料,二是新版的 grants 表結構有所變化。

15、無 grants 表啟動 mysql

$ mysqld --skip-grant-tables --user=mysql  

16、從備份中裝載 mysql 使用者和許可權資料
$ cd /root/mysql-5.1-backup/dump/

$ mysql < mysql.sql  

17、運行更新指令碼,把一切都升級到 5.5 版本

$ mysql_upgrade  

18、如常地停止和啟動 mysql

$ /etc/init.d/mysql stop

$ /etc/init.d/mysql start  

至此,升級完成,如果你也升級到 5.5 了,記得分享一下心得哦~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.