MySQL 5.5升級5.6 單例項簡易實戰

神諭丶發表於2015-11-25
環境:RHEL 6
mysql舊版本:mysql-5.5.28
mysql新版本:mysql-5.6.26
安裝方式:原始碼編譯

不習慣用rpm包來安裝mysql,所以此處仍然使用原始碼安裝編譯mysql
若為rpm包安裝,操作過程大體一致,當然路徑和安裝方法有出入。

因為是實驗環境,首先安裝mysql5.5。
basedir : /home/sano1y/mysql5.5
datadir : /home/sano1y/mysql5.5/data
socket : /tmp/mysql.sock
配置檔案路徑 : /home/sano1y/.my.cnf

此處作業系統使用者名稱為sano1y,下同。

安裝過程略。

安裝完後配一下使用者環境變數
  1. vi ~/.bash_profile
  2. 新增 export PATH=$PATH:/home/sano1y/mysql5.5/bin
  3. source ~/.bash_profile

將預設配置檔案放到~/.my.cnf
  1. cp ~/mysql5.5/support-files/my-medium.cnf ~/.my.cnf
先啟動服務,修改一下初始密碼並確認版本:

  1. [sano1y@localhost ~]$ mysql -uroot -p
  2. Enter password:
  3. Welcome to the MySQL monitor. Commands end with ; or \g.
  4. Your MySQL connection id is 5
  5. Server version: 5.5.28-log Source distribution
  6. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. mysql>
  12. mysql> set password=password('root');
  13. Query OK, 0 rows affected (0.00 sec)
  14. mysql>
  15. mysql> flush privileges;
  16. Query OK, 0 rows affected (0.00 sec)
因為5.5、5.6版本的密碼均為空,所以先指定一個密碼,後面將會用到。


① 停止舊版本
服務

  1. [sano1y@localhost bin]$ mysqladmin -uroot -p shutdown
  2. Enter password:
  3. 151125 00:13:35 mysqld_safe mysqld from pid file /home/sano1y/mysql5.5/data/localhost.localdomain.pid ended
  4. [1]+ Done ./mysqld_safe
  5. [sano1y@localhost mysql5.6]$ ps -ef | grep mysql
  6. sano1y 20590 19687 0 02:00 pts/2 00:00:00 grep mysql



② 備份資料庫

備份資料檔案,略。

同時備份引數檔案。
  1. cp ~/.my.cnf ~/.my.cnf.bk


③ 安裝新版本

同樣透過cmake make make install來編譯安裝 mysql5.6,並初始化
並修改使用者環境變數。
  1. vi ~/.bash_profile
  2. export PATH=$PATH:/home/sano1y/mysql5.6/bin
  3. source ~/.bash_profile

將預設5.6的配置檔案修改掉(禁用)
  1. mv ~/mysql5.6/my.cnf ~/mysql5.6/my.cnf.default

將對應引數修改為新的。
  1. vi ~/.my.cnf
  2. [mysqld]
  3. basedir=/home/sano1y/mysql5.6
  4. datadir=/home/sano1y/mysql5.5/data
  5. pid-file=/home/sano1y/mysql5.5/sAno1y.pid


④ 啟動新版本服務


  1. mysqld_safe & 啟動服務
此時mysql伺服器會找到 ~/.my.cnf這個配置檔案,並啟用。


⑤ 檢查升級的表

此時做mysql_upgrade進行檢查
  1. mysql_upgrade -uroot -p --force
然後是mysqlcheck

  1. mysqlcheck -uroot -p

進入mysql client檢查:
此時密碼仍然是mysql5.5的,因為啟動時,是在/home/sano1y/mysql5.5/data/中的mysql.user中校驗。
  1. [sano1y@localhost bin]$ mysql -uroot -p
  2. Welcome to the MySQL monitor. Commands end with ; or \g.
  3. Your MySQL connection id is 26
  4. Server version: 5.6.26-log Source distribution
  5. Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
  6. Oracle is a registered trademark of Oracle Corporation and/or its
  7. affiliates. Other names may be trademarks of their respective
  8. owners.
  9. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  10. mysql> select @@datadir;
  11. +-----------------------------+
  12. | @@datadir                   |
  13. +-----------------------------+
  14. | /home/sano1y/mysql5.5/data/ |
  15. +-----------------------------+
  16. 1 row in set (0.00 sec)



順便可以刪一下mysql5.5目錄裡的其他目錄:

  1. [sano1y@localhost ~]$ cd mysql5.5
  2. [sano1y@localhost mysql5.5]$ ls
  3. bin data include lib mysql-test scripts sql-bench sAno1y.pid
  4. COPYING docs INSTALL-BINARY man README share support-files
  5. [sano1y@localhost mysql5.5]$ rm -rf bin/ include/ lib/ mysql-test/ scripts/ sql-bench/ COPYING docs/ INSTALL-BINARY man/ README share/ support-files/
  6. [sano1y@localhost mysql5.5]$
  7. [sano1y@localhost mysql5.5]$ ls
  8. data  sAno1y.pid







總結升級過程:
① 停止舊版本服務 → ② 備份資料庫 → ③ 安裝新版本 → ④ 啟動新版本服務 → ⑤ 檢查升級的表



作者公眾號(持續更新)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-1846662/,如需轉載,請註明出處,否則將追究法律責任。

相關文章