MySQL5.1如何在CentOS系統中升級至5.5.36的示例詳解

有相關測試數據說明從5.1到5.5+,mysql性能會有明顯的提升,具體的需要自己建立測試環境去實踐下,今天我們就來操作下,并記錄下來升級的具體步驟

記錄下centos 6.4環境將MySQL5.1升級至5.5.36的過程,希望對大家有個參考。

1.為了安全期間,首先需要備份原有數據

2.卸載原有MySQL,先停止原有的MySQL服務,再查找 find / -name mysql

[root@linuxidc?/]#?find?/?-name?mysql    /var/lib/mysql    /var/lib/mysql/mysql    /usr/lib64/mysql

并移除服務

[root@linuxidc?/]#?rm?-rf?/var/lib/mysql    [root@linuxidc?/]#?rm?-rf?/var/lib/mysql    [root@linuxidc?/]#?rm?-rf?/usr/lib64/mysql

3.安裝cmake

[root@linuxidc?download]#?wget?http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz    [root@linuxidc?download]#?tarx?zvfc?cmake-2.8.12.2.tar.gz    [root@linuxidc?download]#?cd?cmake-2.8.12.2    [root@linuxidc?cmake-2.8.12.2]#?./configure    [root@linuxidc?cmake-2.8.12.2]#?make?&&?make?install

4.下載安裝MySQL5.5.36

[root@linuxidc?download]#?wget?http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz    [root@linuxidc?download]#?tar?xzvf?mysql-5.5.36.tar.gz    [root@linuxidc?download]#?cd?mysql-5.5.36    [root@linuxidc?mysql-5.5.36]#?cmake?-DCMAKE_INSTALL_PREFIX=/usr/local/mysql?-DEXTRA_CHARSETS=all?-DDEFAULT_CHARSET=utf8?-DDEFAULT_COLLATION=utf8_general_ci?-DWITH_READLINE=1?-DWITH_SSL=system?-DWITH_ZLIB=system?-DWITH_EMBEDDED_SERVER=1?-DENABLED_LOCAL_INFILE=1?-DMYSQL_DATADIR=/home/mysql    [root@linuxidc?mysql-5.5.36]#?make?&&?make?install

在cmake的過程中出錯了,提示Could NOT find Curses (missing:? CURSES_LIBRARY CURSES_INCLUDE_PATH)

執行以下代碼就可以了,執行好之后繼續cmake,然后再make && make install

[root@localhost?mysql-5.5.36]#?rm?CMakeCache.txt  [root@localhost?mysql-5.5.36]#?yum?install?ncurses-devel

5.接下來需要把之前備份下來的my.cnf文件,復制至/etc/my.cnf

MySQL會讀取/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /.my.cnf。左邊的文件優先級是最高的

6.配置好之后,我們就啟動mysql,發現有一個問題啟動MySQL提示:The server quit without updating PID file(…)失敗

查看my.cnf文件設置的日記文件地址/var/log/mysqld.log,錯誤提示如下

170715?12:31:36?mysqld_safe?mysqld?from?pid?file?/var/lib/mysql/linuxidc.pid?ended  170715?12:57:48?mysqld_safe?Starting?mysqld?daemon?with?databases?from?/home/mysql  170715?12:57:48?InnoDB:?The?InnoDB?memory?heap?is?disabled  170715?12:57:48?InnoDB:?Mutexes?and?rw_locks?use?GCC?atomic?builtins  170715?12:57:48?InnoDB:?Compressed?tables?use?zlib?1.2.3  170715?12:57:48?InnoDB:?Initializing?buffer?pool,?size?=?128.0M  170715?12:57:48?InnoDB:?Completed?initialization?of?buffer?pool  170715?12:57:48?InnoDB:?highest?supported?file?format?is?Barracuda.  170715?12:57:48??InnoDB:?Waiting?for?the?background?threads?to?start  170715?12:57:49?InnoDB:?5.5.36?started;?log?sequence?number?2645823  170715?12:57:49?[ERROR]?/usr/local/mysql/bin/mysqld:?unknown?variable?'default-character-set=utf8'  170715?12:57:49?[ERROR]?Aborting

此報錯是由/etc/my.cnf優先級下的[mysqld]設置優先級引起的,解決方法:將default-character-set=utf8 改為 character_set_server=utf8

7.通過mysql -u root -p命令連接mysql。(我們之前有安裝過mysql,數據庫文件還在,所以不需要再優先級設置權限了)

出現了優先級:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’

出錯原因是我們mysql.sock文件在/usr/lib/mysql/文件夾下

可以嘗試通過下面命令連接,并查看mysql版本

[root@linuxidc?var]#?mysql?-u?root?-p?-S?/usr/lib/mysql/mysql.sock  mysql>?select?version();  +-----------+  |?version()?|  +-----------+  |?5.5.36????|  +-----------+  1?row?in?set?(0.00?sec)

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享