Linux Centos 遷移Mysql 數據位置


Linux Centos 遷移Mysql 數據位置

由於業務量增加導致安裝在系統盤(20G)磁盤空間被占滿了, 現在進行數據庫的遷移. Mysql 是通過 yum 安裝的.

Centos6.5Mysql5.1

yum 安裝的 mysql 服務

查看 mysql 的安裝路徑

執行查詢 SQL

show variables like '%dir%'; 

datadir 就是數據路徑

轉移操作

  • 新建 mysql 數據目錄

    mkdir /data/mysqlData 
  • 停止mysql服務

    service mysqld stop

    輸入密碼, 等待停止

  • 把 /var/lib/mysql 整個目錄復制到 /data/mysqlData

    cp -rf /var/lib/mysql /data/mysqlData/ 
  • 修改 my.cnf 文件

    cp /etc/my.cnf /etc/my.cnf.bak vim /etc/my.cnf 

    文件內容如下, 需要修改 datadir , socket 對應的目錄

    [mysqld]
    default-character-set=utf8
    #datadir=/var/lib/mysql datadir=/data/mysqlData/mysql #### #socket=/var/lib/mysql/mysql.sock socket=/var/lib/mysql/mysql.sock #### user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set=utf8 [client] default-character-set=utf8 
  • 修改MySQL啟動腳本 /etc/init.d/mysqld

    vim /etc/init.d/mysqld
    
修改文件中`datadir`路徑 
#get_mysql_option mysqld datadir "/var/lib/mysql" get_mysql_option mysqld datadir "/data/mysqlData/mysql" 

因為是通過`yum`安裝的需要修改`/usr/lib64/mysql/mysql_config`文件

vim /usr/lib64/mysql/mysql_config 

修改內容

#ldata='/var/lib/mysql' ldata='/data/mysqlData/mysql' #socket='/var/lib/mysql/mysql.sock' socket='/data/mysqlData/mysql/mysql.sock' 
  • 修改權限

    [root@sample ~]# chown -R mysql:mysql /data/mysqlData/mysql/ ← 改變數據庫的歸屬為 mysql 

重啟mysql服務

service mysqld restart

執行一下查詢 sql

show variables like '%dir%'; 

發現 datadir 的路徑變了, 可以正常的運行 sql , 證明可以正常的獲取數據了.

總結

這次操作是在測試服務器上操作的, 心情還是很緊張, 如果需要操作線上的數據庫, 一定要謹慎, 一定要謹慎, 一定要謹慎. 一定要注意備份. 這次遷移要保證在20分鍾完成, 這樣減少一下損失.

注意:warning:

:warning: 通過 yum 安裝的需要修改/usr/lib64/mysql/mysql_config文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM