1. 程式人生 > >centos下mysql數據遷移方法

centos下mysql數據遷移方法

重新安裝 步驟 數據庫恢復 basedir 第三方 datadir order 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數據遷移方法