標籤:usr sock 步驟 grant chown 配置 .com etc pass
第一種:
未經處理資料庫不需要重新安裝:
預設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/mysqld(yum安裝用這個,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資料移轉方法