Centos MySQL数据库迁移详细步骤

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

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

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

步骤如下:

1.首先要确定data目录在哪里

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

2.我是整个数据库目录进行迁移的 原目录 /var/lib/mysql 直接 mv或者cp过去(先停止mysqd 服务)

比如cp到 /mnt/vdb/mysql目

3.找到my.cnf配置文件

  如果/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错误就说明应该还有没有改到。。

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


 
上一篇:【spring data jpa】启动报错:nested exception is java.util.NoSuchElementException


下一篇:多线程编程——java