大家好,我是一直默默努力的大龄程序媛大丫姨,今天领导让我升级mysql数据库,我竟然给升级失败了,后来分析原因为
原mysql安装是通过yum安装的,而我却用rpm进行了升级。升级失败也没有别的办法了(或者有但是我不知道),只能原库卸载了,再重新安装高版本的mysql。
安装好之后进行数据的迁移,迁移方式有两种,一种是通用性的sql文件方式;另外一种是数据量过大的data文件拷贝方式。对于通用方式,就是使用mysqldump命令把A服务器数据库的表结构和数据等等导出,再使用mysql导入到B服务器数据库。具体可以见我上一篇文章。这里主要将一下第二种情况,将data文件拷贝方式迁移。这种特别适用于超大文件的形式,像20g的我采用第一种sql文件形式花了1小时,拷贝只用几分钟。但是无论哪种形式,一定要做好sql文件和data文件路径的双备份。毕竟生产运维,且行且珍惜。
可是此次数据文件过大,大约有30个G,使用命令行导入,效果不是很好。最后采用复制源数据库的data目录下的文件,完成数据迁移。
操作步骤以下:
1.首先要肯定data目录在哪里服务器
查看my.cnf的datadir的路径
2.我是整个数据库目录进行迁移的 原目录 /var/lib/mysql 直接 mv或者cp过去(先中止mysqd 服务)
好比cp到 /mnt/vdb/mysql目命令行
3.找到my.cnf配置文件server
若是/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并更名为my.cnf)中。命令以下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /mnt/vdb/mysql/mysql.sock (加上此行)
最后强调复制数据存在风险,请提早备份哦!!