1.下载mysql最新版
比如我下载的是 mysql-5.5.17-linux2.6-i686.tar.gz
2.解压
tar xvf mysql-5.5.17-linux2.6-i686.tar.gz
3.进入解压后的文件夹
cd mysql-5.5.17-linux2.6-i686
4.建立tmp,conf,logs三个文件夹
mkdir tmp
mkdir conf
mkdir logs
5.将默认配置拷贝到conf文件夹下
cp support-files/my-huge.cnf conf/mysql.cnf
6.将文件夹移动到其它目录,比如我从/home/download 目录移动至/home目录
mv /home/download/mysql-5.5.17-linux2.6-i686 /home/mysql5.5
7.编辑mysql.cnf文件
cd /home/mysql5.5
vi conf/my.cnf
将 [mysqld]和[client]中的socket = /tmp/mysql.sock改为
/home/mysql5.5/tmp/mysql.sock
将log-bin=mysql-bin 改为 log-bin=/home/mysql5.5/logs/mysql-bin
将port=3306改为port=3307
在[mysqld]下增加
basedir = /home/mysql5.5
datadir = /home/mysql5.5/data
两个参数
8.设置mysql5.5文件夹为mysql权限 chown -R mysql:mysql mysql5.5文件夹
9.执行安装脚本
./scripts/mysql_install_db --user=mysql --defaults-file=/home/mysql5.5/conf/my.cnf
10.在执行启动
./bin/mysqld_safe --defaults-file=/home/mysql5.5/conf/my.cnf --user=mysql &
11.从5.1 mysql导出数据库,导入5.5的mysql中
mysqldump -uroot -p mobileinfo > /home/***/20111114.sql
mysql -uroot -p -P3307 --socket=/home/mysql5.5/tmp/mysql.socket mobileinfo < /home/***/20111114.sql
12.停止5.5的mysql
mysqladmin -uroot -p -P3307 --socket=/home/mysql5.5/tmp/mysql.socket shutdown
13.启动mysql 5.5并跳过权限表
因为要为下面的导入mysql 5.1的权限表做准备 mysql 5.1的权限表和5.5的不一样
./bin/mysqld_safe --defaults-file=/home/mysql5.5/conf/my.cnf --skip-grant-tables &
--skip-grant-tables 是跳过权限表的意思
14.将5.1的权限表复制到5.5下
cp -r /data/mysql/data/mysql /home/mysql5.5/data/
15.执行权限表升级操作
./bin/mysql_upgrade --socket=/home/mysql5.5/tmp/mysql.sock --port=3307 --user=root
执行结束会显示 很多ok 如果没有报错 就代表成功了
16.登录mysql 看看
./bin/mysql -uroot -p -P3307 --socket=/home/mysql5.5/tmp/mysql.sock
使用的是5.1的root密码
登录成功后将5.1的配置文件备份一下
然后将5.5的备份文件覆盖到/etc/my.cnf
cp conf/my.cnf /etc/my.cnf
然后修改一下 socket = /tmp/mysql.socket
prot = 3306 然后重启mysql就行了