MySQL数据库5.0升级到5.1,再升级到5.5

MySQL5.0升级到5.1
备份数据库为sql文件,必须要备份,然后导入数据,使用复制数据库文件会到导致一些奇怪问题,比如:中文乱码,表损坏等
    mysqldump 
升级授权表
    升级时在老的MySQL需要运行
    ./mysql_fix_privilege_tables  --password=root_password --basedir=new_mysql_basedir --socket=old_mysql_sock
备份老的my.cnf和/etc/init.d/mysqld文件
    mv my.cnf /etc/init.d/mysqld /backup/mysqlbackup/etc/

安装配置文件和启动管理脚本
    复制 support-files下面的mysql.server到/etc/init.d/mysqld 修改basedir和datadir的值为当前mysql的路径
    复制 support-files下面的my-medium.cnf到/etc/my.cnf 并根据需要修改里面的参数值

启动server,看error日志,一般为$hostname.err
导入数据库

MySQL5.1升级到5.5
备份数据文件
移除/etc/init.d/mysqld和/etc/my.cnf
复制mysql5.5 的目录到/data/soft/mysql5.5
复制my.cnf和mysql.server 到/etc/init.d/mysqld 和/etc/my.cnf
修改mysqld和my.cnf的参数信息
启动mysql取消对授权表的检查mysqld --skip-grant-tables --user=mysql
运行mysql_upgrade 更新现有库,这个时间很长,最好是从其他位置导入SQL数据

正式启动mysql

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

1、下载二进制安装包

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


2、备份 mysql 配置文件

[c-sharp]  view plain copy
$ mkdir /root/mysql-5.1-conf
$ cp -R /etc/mysql/ /root/mysql-5.1-conf  


3、备份数据目录

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


4、备份数据


5、安装异步 I/O 库

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

$ apt- get install libaio-dev  


6、解包

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


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

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


8、删除旧版本的 mysql

$ apt- get remove mysql-server-5.1
$ apt- get autoremove
$ apt- get remove mysql-client
$ apt- get autoremove  


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

$ vim /etc/environment
PATH= "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin"  


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

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


11、创建 socket 目录

再次提醒,记得设定权限

$ mkdir /var/run/mysqld/

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


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

$ cd /usr/local/mysql/support-files/

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


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

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  


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

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

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


15、无 grants 表启动 mysql

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


16、从备份中装载 mysql 用户和权限数据
$ cd /root/mysql-5.1-backup/dump/

$ mysql < mysql.sql  


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

$ mysql_upgrade  


18、如常地停止和启动 mysql

$ /etc/init.d/mysql stop

$ /etc/init.d/mysql start  


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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值