如何更改在Ubuntu下的MySQL的預設資料庫儲存位置

來源:互聯網
上載者:User

在Ubuntu下安裝的MySQL預設配置下的資料庫檔案儲存位置是在/var/lib/mysql,

MySQL資料庫的檔案結構是怎麼樣的呢,對於這樣子建立的資料庫命令:
  CREATE DATABASE mysqldb
  在預設的資料庫儲存位置下就會有個檔案夾mysqldb。要操作資料庫首先得停止資料庫進程:
  $sudo /etc/init.d/mysql stop

 

本文以轉移到/home/mysql這個位置為例,下面命令將原有資料庫轉移到新位置:
  $sudo cp –R –p /var/lib/mysql /home/mysql
  編輯MySQL設定檔:
  $gksu gedit /etc/mysql/my.cnf
  在 gedit中找到datadir這一行,將後面等號之後的內容更改為/home/mysql然後儲存退出。自Ubuntu 7.10開始,
  Ubuntu就開始使用一種安全軟體叫做AppArmor,這個安全軟體會在你的檔案系統中建立一個允許應用程式訪問的地區(專業術語:應 用程式存取控制)。如果不為MySQL修改AppArmor設定檔,永遠也無法為新設定的資料庫儲存位置啟動
  資料庫服務。配置AppArmor:
  $sudo nano /etc/apparmor.d/usr.sbin.mysqld
  在gedit中找到/var/lib/mysql/這兩行,注釋掉這兩行,在這兩行前分別添加一個符號“#”即可注釋,在這兩行之前或
  之後加上下面內容:
  /home/mysql/ r, 
  /home/mysql/** rwk,
  儲存後退出,執行命令:
  $sudo /etc/init.d/apparmor reload
  返回Reloading AppArmor profiles : done.即可以重啟MySQL服務:
  $sudo /etc/init.d/mysql start
  至此MySQL資料庫儲存位置就更改完畢了。
  FAQ:
  Q:當我運行$sudo /etc/init.d/apparmor reload卻返回資訊
  Skipping profile /etc/apparmor.d/usr.sbin.mysqld~ 
  : Warning.
  並且也無法啟動MySQL服務,怎麼辦呢?
 
 A:出 現這個問題可能是因為你使用了$sudo gedit或$gksu
gedit這樣子的命令來編輯usr.sbin.mysqld這個設定檔的,這兩個圖形介面文字編輯器會在相同位置產生一個
usr.sbin.mysqld~的檔案,從而影響了AppArmor讀取設定檔,出現這個問題先刪除這個usr.sbin.mysqld~檔案:
  $sudo rm /etc/apparmor.d/usr.sbin.mysqld~
  然後使用$sudo nano這個終端文字編輯器來編輯設定檔即可。

 

       本文 轉載自:  http://www.examda.com/ncre/three/db/fudao/20090531/083919323.html

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.