Linux下的MySQL有原来的5.0上级到5.5

1. 下载并安装好新版本的MySQL数据库,并将其端口改为3307(避免和旧版本的3306冲突),启动服务。

2. 在新版本下创建同名数据库。

# mysqldump -p3307 -uroot create mysqlsystems_com

3. 在旧版本下备份该数据库。

# mysqldump -p3306 -uroot mysqlsystems_com > mysqlsystems_com.bk

Note: 你也可以加上–opt选项,这样可以使用优化方式将你的数据库导出,减少未知的问题。

4. 将导出的数据库备份导入到新版本的MySQL数据库中。

# mysql -p3307 -uroot mysqlsystems_com < mysqlsystems_com.bk

5. 再将旧版本数据库中的data目录下的mysql数据库全部覆盖到新版本中。

# cp -R /opt/mysql-5.1/data/mysql /opt/mysql-5.4/data

Note: 大家也都知道这个默认数据库的重要性。

6. 在新版下执行mysql_upgrade命令,其实这个命令包含一下三个命令:

# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names

Note: 在每一次的升级过程中,mysql_upgrade这个命令我们都应该去执行,它通过mysqlcheck命令帮我们去检查表是否兼容新版本的数据库同时作出修复,还有个很重要的作用就是使用mysql_fix_privilege_tables命令去升级权限表。

7. 关闭旧版本,将新版的数据库的使用端口改为3306,重新启动新版本MySQL数据库。到此,一个简单环境下的数据库升级就结束了。

yum 安装数据库升级


备份数据
备份数据库文件:
复制 /var/lib/mysql/下的数据库文件到安全的目录
(复制回来的时候注意修改权限 )
cp -r /var/lib/mysql /home/www/bak/mysql/
再把这个目录清空了(mysql启动的时候会重新加载数据库文件)

备份mysql数据库用户文件:mysql内置的用户,root等也需要我们去备份。
(这里我遇到了问题,存储过程也得备份,不知道为什么文件中没有保存这些信息)。
mysqldump -u username -p --database mysql > /home/www/bak/mysqluser.sql
再将 /etc/my.cnf 备份一下,cp一下即可。

装好后开始导入原来的数据。
cp -rf /home/www/bak/mysql/* /var/lib/mysql/
chown -R mysql.mysql /var/lib/mysql
这里cp命令默认是加了 -i参数的,
可以在 ~/.bashrc里面去掉注释,然后 source ~/.bashrc 使用改动生效 ,
再将文件权限所有者改回mysql(非常重要!)

导入原来的用户sql文件
mysql < /home/www/bak/mysqluser.sql

posted @ 2015-06-16 16:30  青青子衿zz  阅读(149)  评论(0)    收藏  举报