zoukankan      html  css  js  c++  java
  • 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服务

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

  • 相关阅读:
    JavaScript对象的几种创建方式?
    TCP 三次握手,四次挥手
    常用的状态码
    前后端分离的接口规范
    京东架构师:日均 5 亿查询量的ElasticSearch架构如何设计?
    [转] 谈谈Spring中都用到了那些设计模式?
    [转]Post和Get的区别
    [转]17个常用的JVM参数
    从入门到熟悉HTTPS的9个问题
    布式事务和解决方案理论
  • 原文地址:https://www.cnblogs.com/qfdxxdr/p/7066165.html
Copyright © 2011-2022 走看看