centos下mysql数据迁移方法

Posted 勤奋的雪雪大人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos下mysql数据迁移方法相关的知识,希望对你有一定的参考价值。

第一种:

原始数据库不需要重新安装:

默认mysql会安装在/var/lib/mysql这里,若将数据迁移到/data/mysql目录下,步骤如下:

1、停止mysql服务

2、#cp /var/lib/mysql/* /data/mysql/

#chown -R mysql.mysql /data/mysql

3、修改my.cnf文件

basedir = /usr

datadir = /data/mysql

socket = /data/mysql/mysql.sock

pid-file = /data/mysql/hostname.pid

如果是第三方的mysql-rpm包安装,默认配置文件在/usr/my.cnf目录下

如果是yum安装,配置文件在/etc/my.cnf

4、修改/etc/init.d/mysqldyum安装用这个,rpm第三方安装在这里改/etc/init.d/mysql)的datadir目录

 

5、迁移之后mysql -u root -p 是进不去的,需要重新设置root密码

#mysqld_safe --skip-grant-tables &

#mysql (另开一个窗口执行)

>use mysql;

>update user set password=password(‘新密码’) where user=’root’

>flush privileges;

6、重启服务

#/etc/init.d/mysql start

这时在执行#mysql -uroot -p 可以进去,但是show databases时会先让set一遍密码,按照提示操作就可以了。

到这数据库迁移已经完成,之前的数据库都可以正常操作。

 

第二种

数据库需要重新安装(必须是相同版本):

1、重新安装之后默认的路径还是/var/lib/mysql,如果想迁移到/data目录下,按照第一种得步骤操作就可以。

2、之前的数据库恢复步骤如下:

a) 停止mysql服务

b) 将之前的/var/lib/msyql/order2017拷贝到/data/mysql目录下。修改权限chown -R mysql.mysql /data/mysql/order2017 这个时候数据库和表存在,但是查看数据时会报1146这个错误;继续以下操作

c) 拷贝之前的/var/lib/mysql/ibdata1覆盖/data/mysql/ibdata1

d) 重启mysql服务

到这里重新安装之后之前的数据库也可以访问

以上是关于centos下mysql数据迁移方法的主要内容,如果未能解决你的问题,请参考以下文章

CentOS下mysql数据库data目录迁移和配置优化

CentOS7下mysql数据库的迁移

CentOS下mysql数据库data目录迁移

Centos7下Gitlab迁移数据库mysql过程

迁移 RDS for MySQL 数据到本地 MySQL

Linux Centos 迁移Mysql 数据位置