mysql 通过rpm包升级_通过rpm包升级mysql5.1到5.5

Download the binary$ cd /root/

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.11-linux2.6-i686.tar.gz/from/http://mysql.llarian.net/

$ mv index.html mysql-5.5.8-linux2.6-i686.tar.gz

Backup the MySQL configuration$ mkdir /root/mysql-5.1-conf

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

Backup the data directory

We will be backing up the data in the form of SQL dump as well as by copying the data files over to a safe place, just to be 100% sure about the data not getting lost.$ mkdir /root/mysql-5.1-data

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

Backup the data as SQL dump

Backup the mysql database separately and not with all the other databases, because we are going to need it before we restore all the databases.$ mkdir /root/mysql-5.1-dump

$ mysqldump -u user_name -p --databases mysql > /root/mysql-5.1-dump/mysql.sql

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

Install the asynchronous I/O library

This is so that we can take advantage of the asynchronous I/O capability in the new InnoDB plugin that ships with MySQL 5.5$ apt-get install libaio-dev

Untar the archive$ tar xzvf mysql-5.5.8-linux2.6-i686.tar.gz

Copy or move the untarred MySQL directory to the installation directory$ cp -R mysql-5.5.8-linux2.6-i686 /usr/local/

$ cd /usr/local/

$ ln -s mysql-5.5.8-linux2.6-i686 mysql

Remove the older version of MySQL

Now is the time to remove the older version of MySQL, in this case I assume the older version to be MySQL 5.1$ apt-get remove mysql-server-5.1

$ apt-get autoremove

$ apt-get remove mysql-client

$ apt-get autoremove

Add the path to MySQL bin directory to the PATH variable$ vim /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin"

Set the correct file and directory permissions on the MySQL installation directory

Setting correct permissions is very important, make sure that all the files except those under the datadirectory are owned by root. The data directory has to be owned by the user mysql.$ cd /usr/local/mysql

$ chown -R mysql:mysql data

Create the socket directory

Here again, setting the correct permissions on the socket directory is very important, otherwise MySQL would not run.$ mkdir /var/run/mysqld/

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

Copy the sample MySQL configuration file to the etc directory and setup the paths$ cd /usr/local/mysql/support-files/

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

Now edit /etc/my.cnf so that it has the following values: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

Copy the MySQL server startup script to the startup directory

The MySQL startup script has to be placed in the directory where all the startup scripts reside, so that MySQL starts on system startup. Make sure that you make the startup script executable, and update the rc.d database to notify the system about the presence of a new startup script.$ cd /usr/local/mysql/support-files/

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

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

$ update-rc.d mysql defaults

Remove the MySQL files from the older version

Make sure you don’t delete files belonging to the new version we are installing.$ rm -R /var/lib/mysql

$ rm -R /etc/mysql

$ rm -R /usr/lib/mysql

When starting the MySQL server for the first time after the new installation, it has to be started without the grants table, for two reasons. Firstly, because we want to retain the users and privileges data from the previous install of MySQL and secondly, because the schema of the grants table in MySQL 5.5 has changed.So what we will do is start MySQL without the grants table, import the users and privileges data we backed up earlier in this guide and run the mysql_upgrade script that modifies the schema of thegrants table to be in sync with that in MySQL 5.5. After that we will be able to run MySQL normally and have all the users and privileges same as in the previous version we had.

Start MySQL server without grants table.$ mysqld --skip-grant-tables --user=mysql

Load the MySQL users and privileges data we backed up earlier$ cd /root/mysql-5.1-backup/dump/

$ mysql 

Run the upgrade script so that everything gets upgraded to the version 5.5$ mysql_upgrade

Stop the server and start it normally$ /etc/init.d/mysql stop

$ /etc/init.d/mysql start

There you go, you have a MySQL 5.5 server up and running in no time! Do share your thoughts if you try out MySQL 5.5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值