Centos MySQL数据库迁移详细步骤

其实迁移数据库,通常用sql文件就行,把A服务器数据库的表结构和数据等等导出,而后导入到B服务器数据库,mysql

可是此次数据文件过大,大约有40个G,使用命令行导入,效果不是很好,常常在执行过程当中报错、卡死。sql

最后参考网上的帖子,复制源数据库的data目录下的文件,完成数据迁移。数据库

步骤以下:bash

1.首先要肯定data目录在哪里服务器

这个问题困扰了我好久,由于网上的帖子大部分只是说拷贝mysql数据库目录下的data文件夹中的数据,可是data目录到底在哪里,并未说明,我开始是拷贝的MySQL安装目录中的data文件夹,可是显然这是错误的,拷贝后并未出现须要的数据库。socket

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   (加上此行)

[mysqld]
datadir=/mnt/vdb/mysql
socket=/mnt/vdb/mysql/mysql.sock
#没有就新加 [mysql] socket=/mnt/vdb/mysql/mysql.sock [client] socket=/mnt/vdb/mysql/mysql.sock [mysqldump] socket=/mnt/vdb/mysql/mysql.sock

  重启服务若是发现/var/lib/mysql/mysql.sock错误就说明应该还有没有改到。。blog

4.复制数据存在风险,请提早备份哦!!

相关文章
相关标签/搜索