linux下遷移mysql數據庫存放目錄mysql
www.111cn.net 編輯:tiger 來源:轉載
在linux系統中更換或移動mysql數據庫存儲目錄有兩種辦法,一種是修改改/etc/my.cnf,另外一種是軟鏈接方法,下面咱們分別一看一下。
方法一:
參照windows下的方法,把/var/lib/mysql移到須要的目錄,再修改/etc/my.cnf文件,指定數據目錄。這方面的教程網上不少,你們能夠去搜索一下。
停掉Mysql服務
在my.ini的[mysqld]裏有三個設置,路徑改爲移動以後的路徑
代碼以下 複製代碼
basedir=」D:/MySQL-5.0.15b/」
datadir=」D:/MySQL-5.0.15b/data」
innodb_data_home_dir=」D:/MySQL-5.0.15b/data」
從新啓動Mysql服務就行了。
這裏分別對應的就是剛剛移動的那些文件夾裏面對應的文件夾和文件
basedir,會影響bin目錄,影響服務;
datadir,影響數據庫存放路徑;
其中basedir在遷移時必定要設置,不然基本會致使服務不能啓動,ibdata1通常會在data文件夾的上一層。
另 外innodb的數據文件ibdata1若是沒有放在默認位置,那麼必定要設置,不然的話服務第一次能夠啓動,並且會在應該存放ibdata1的路徑下新 建一個初始的ibdata1文件,看起來正常,但全部使用innodb存儲引擎的數據庫的數據都會丟失,並且再次重啓時,有可能會沒法啓動,或者各類始料 不及的錯誤。linux
方法二:
使用linux下的軟鏈接方法,具體操做以下:(以遷移到/home/mysql/目錄爲例)
先中止mysql:
代碼以下 複製代碼
/etc/init.d/mysqld stop
移動數據:
mv /var/lib/mysql/* /home/mysql/
建立軟鏈接:
ln -s /home/mysql/ /var/lib/mysql/
啓動mysql:
/etc/init.d/mysqld startsql
移動數據:
mv /var/lib/mysql /home/mysql
建立軟鏈接:
ln -s /home/mysql /var/lib/mysql
這兩句命令的意思是: 將 /var/lib/ 目錄下的 mysql 整個移動到 /home/ 目錄,並保留原始目錄屬性
在 /var/lib/ 目錄下建立個連接到 /home/mysql/ 目錄的軟鏈接 mysql 目錄.
總結
在網上有不少朋友說了使用
移動數據:
mv /var/lib/mysql/* /home/mysql/
建立軟鏈接:
ln -s /home/mysql/ /var/lib/mysql/
你們須要注意再注意啊,這個種方法不是不可行是不安全。數據庫