Csuper Blog

Csuper Blog

手把手教你升级到 Mysql 5.5
2011-08-29

mysql 5.5 不仅宣传工作做得好,其实 mysql server 本身也的确是大幅增进了性能,而且 Inno DB 插件的性能也大增。但是没有啥比较好的升级到 Mysql 5.5 的指南,所以我就自己动手写了一个,这也没啥大不了的嘛!

1、下载二进制安装包

 

  1. $ cd /root/
  2. $ 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/
  3. $ mv index.html mysql-5.5.8-linux2.6-i686.tar.gz  

 

2、备份 mysql 配置文件

 

  1. $ mkdir /root/mysql-5.1-conf
  2. $ cp -R /etc/mysql/ /root/mysql-5.1-conf  

 

3、备份数据目录

 

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

 

4、备份数据

 

  1. $ mkdir /root/mysql-5.1-dump
  2. $ mysqldump -u user_name -p --databases mysql > /root/mysql-5.1-dump/mysql.sql
  3. $ mysqldump -u user_name -p --databases db_name > /root/mysql-5.1-dump/db_name.sql  

 

5、安装异步 I/O 库

Mysql 5.5 的新的 Inno DB 使用了 libaio 来增进性能

 

  1. $ apt-get install libaio-dev  

 

6、解包

 

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

 

7、把解包的 mysql 目录放到安装目录

 

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

 

8、删除旧版本的 mysql

 

  1. $ apt-get remove mysql-server-5.1
  2. $ apt-get autoremove$ apt-get remove mysql-client
  3. $ apt-get autoremove  

 

9、把 mysql bin 目录加到 PATH 环境变量

 

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

 

10、为 mysql 安装目录和文件设定正确的权限

 

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

 

11、创建 socket 目录

再次提醒,记得设定权限

 

  1. $ mkdir /var/run/mysqld/ $ chown -R mysql:mysql /var/run/mysqld/  

 

12、把 mysql 的 sample 配置拷贝到 etc 目录,并设置好路径

 

  1. $ cd /usr/local/mysql/support-files/ $ cp my-large.cnf /etc/my.cnf  

 

编辑 /etc/my.cnf,如下值:

 

  1. user = mysqlsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usr/local/mysqldatadir = /usr/local/mysql/datatmpdir = /tmplog_error = /var/log/mysql/error.log  

 

13、把 mysql server 的启动脚本拷贝到启动目录

 

  1. $ 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 文件

 

  1. $ rm -R /var/lib/mysql $ rm -R /etc/mysql$ rm -R /usr/lib/mysql  

 

在安装后第一次使用 mysql server 时切记要跳过 grants 表,原因有二:一是我们可能希望原来的用户和权限数据,二是新版的 grants 表结构有所变化。

15、无 grants 表启动 mysql

 

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

 

16、从备份中装载 mysql 用户和权限数据

 

  1. $ cd /root/mysql-5.1-backup/dump/ $ mysql < mysql.sql  

 

17、运行更新脚本,把一切都升级到 5.5 版本

 

  1. $ mysql_upgrade  

 

18、如常地停止和启动 mysql

 

  1. $ /etc/init.d/mysql stop $ /etc/init.d/mysql start  

 

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

发表评论: